import type { ControlPlaneApprovalDecision } from '../../client-shared/api/types.js';
import type { ControlPlaneSessionApiService } from '../services/sessions/control-plane-session-api-service.js';
import type { ControlPlaneSessionState } from './control-plane-session-state.js';
type ControlPlaneApprovalControllerOptions = {
    api: ControlPlaneSessionApiService;
    state: ControlPlaneSessionState;
    formatError: (error: unknown) => string;
};
/**
 * Owns cli-v2 pending-approval state and resolution workflow.
 *
 * Core/control-plane owns approval policy and persistence. This controller only
 * mirrors the pending approval into the TUI snapshot and records the local
 * resolving state around a user's decision.
 */
export declare class ControlPlaneApprovalController {
    private readonly options;
    constructor(options: ControlPlaneApprovalControllerOptions);
    refresh(sessionId: string): Promise<void>;
    resolve(decision: ControlPlaneApprovalDecision): Promise<void>;
}
export {};
//# sourceMappingURL=control-plane-approval-controller.d.ts.map