import type { ForgeProvider, ProviderObservation, ReconcileRequest, RepositoryInspection, TrustedMerger, TrustedMergeReconciliation, TrustedMergeRequest, TrustedMergeResult, TrustedPublisher, TrustedPublishRequest } from "@awp/application";
import { ProviderFailure, type ProviderDescriptor, type ProviderError, type ProviderId, type ProviderOperationContext, type ProviderResult } from "@awp/contracts";
export declare const GITHUB_PROVIDER_ID: ProviderId;
export declare const GITHUB_ADAPTER_VERSION = "awp-i0-github-2026-08-20";
import type { GitHubTrustedClient } from "./client-types.js";
export declare class GitHubAdapterError extends ProviderFailure {
    constructor(providerError: ProviderError, options?: ErrorOptions);
}
export declare class GitHubForgeProvider implements ForgeProvider {
    protected readonly client: GitHubTrustedClient;
    constructor(client: GitHubTrustedClient);
    describe(): Promise<ProviderDescriptor>;
    inspectRepository(context: ProviderOperationContext, repositoryKey: string): Promise<ProviderResult<RepositoryInspection>>;
    reconcile(request: ReconcileRequest): Promise<ProviderResult<ProviderObservation>>;
}
export declare class GitHubTrustedPublisher implements TrustedPublisher {
    private readonly client;
    constructor(client: GitHubTrustedClient);
    publish(request: TrustedPublishRequest): Promise<ProviderResult<ProviderObservation>>;
    reconcile(request: ReconcileRequest): Promise<ProviderResult<ProviderObservation>>;
}
export declare class GitHubTrustedMerger implements TrustedMerger {
    private readonly client;
    constructor(client: GitHubTrustedClient);
    merge(request: TrustedMergeRequest): Promise<ProviderResult<TrustedMergeResult>>;
    reconcile(request: TrustedMergeRequest): Promise<ProviderResult<TrustedMergeReconciliation>>;
}
export * from "./client-types.js";
export * from "./http-client.js";
//# sourceMappingURL=index.d.ts.map