import { type Credentials } from '../auth/index.js';
import { type Environment } from '../secrets/manager.js';
import type { PreflightCheckResult, ApplyOptions, DeployPlan } from './types.js';
export interface PendingPreflightResult {
    result: PreflightCheckResult;
    apply: (options?: ApplyOptions) => Promise<void>;
}
export interface PreflightCheckerOptions {
    credentials?: Credentials;
}
export declare class PreflightChecker {
    private projectPath;
    private client?;
    private project?;
    private credentials?;
    constructor(projectPath: string, options?: PreflightCheckerOptions);
    private getProject;
    private getClient;
    private performCheck;
    private buildAgentConfigDiffs;
    private buildSecretWarnings;
    checkWithPendingApply(botId: string, env?: Environment): Promise<PendingPreflightResult>;
    checkAndApply(botId: string, options?: {
        env?: Environment;
        shouldApply?: (result: PreflightCheckResult) => Promise<boolean>;
        callbacks?: ApplyOptions;
    }): Promise<{
        result: PreflightCheckResult;
        applied: boolean;
    }>;
    computeDeployPlan(botId: string, env?: Environment): Promise<DeployPlan>;
    private apply;
}
//# sourceMappingURL=checker.d.ts.map