import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
import type { ApprovalResponse, PermissionRiskLevel } from "../runtime/ports/index.js";
export interface PetConfirmPermissionResolver {
    resolveApproval(response: ApprovalResponse): void;
}
export interface PetConfirmCoordinatorDeps {
    getPermissionResolver(): PetConfirmPermissionResolver | null | undefined;
    sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
}
export interface PetConfirmResponse {
    confirmId: string;
    approved: boolean;
}
export declare class PetConfirmCoordinator {
    private readonly deps;
    private readonly pendingConfirms;
    constructor(deps: PetConfirmCoordinatorDeps);
    requestConfirm(toolName: string, description: string, risk: PermissionRiskLevel, timeoutMs?: number): Promise<boolean>;
    handleResponse({ confirmId, approved }: PetConfirmResponse): void;
}
