import type { UnitOfWork } from "@awp/application";
import type { AcpNativeCapabilities, AcpNativeClient, AcpNativeSession, AcpFailureInjection, AcpAttemptSelectionKind } from "@awp/provider-agent-acp";
export interface KubernetesAcpNativeClientOptions {
    readonly namespace: string;
    readonly callbackBaseUrl: string;
    readonly callbackSecret: string;
    readonly modelGatewayBaseUrl: string;
    readonly modelGatewaySigningSecret: string;
    readonly sourceRepositoryPath?: string;
    readonly selfRepositoryUrl?: string;
    readonly kubectlCommand?: string;
    readonly readyTimeoutMs?: number;
}
export declare class KubernetesAcpNativeClient implements AcpNativeClient {
    private readonly uow;
    private readonly options;
    private readonly kubectl;
    private readonly readyTimeoutMs;
    constructor(uow: UnitOfWork, options: KubernetesAcpNativeClientOptions);
    capabilities(): Promise<AcpNativeCapabilities>;
    findSessionByIdempotencyKey(workspaceId: string, idempotencyKey: string): Promise<AcpNativeSession | undefined>;
    startSession(input: {
        readonly attemptId: string;
        readonly agentRunId: string;
        readonly taskId: string;
        readonly workspaceId: string;
        readonly providerId: string;
        readonly accountId: string;
        readonly model: string;
        readonly idempotencyKey: string;
        readonly correlationId: string;
        readonly selectionKind?: AcpAttemptSelectionKind;
        readonly failureInjection?: AcpFailureInjection;
    }): Promise<AcpNativeSession>;
    cancelSession(nativeSessionId: string): Promise<AcpNativeSession>;
    getSession(nativeSessionId: string): Promise<AcpNativeSession | undefined>;
    private resolveLaunch;
    private waitForRunner;
    private ensureRepository;
    private materializeReviewCandidate;
    private seedSourceRepository;
    private writeTextToPod;
    private pipeTarToPod;
    private runnerRequest;
    private kubectlExec;
    private nativeSessionIdentity;
    private session;
}
//# sourceMappingURL=kubernetes-acp-client.d.ts.map