import type { AutonomyPermissionMode, AutonomyPermissionModeConfig, AutonomyPermissionModeOption, AutopilotCapability, AutopilotProfile } from './types.js';
export declare const AUTO_CAPABILITIES: ["read", "write", "execute", "simple-delete", "many-file-edit", "verification", "formatting", "dependency", "git-stage"];
/**
 * Owns the product-level permission mode mapping for autonomy.
 *
 * UI surfaces should select Default/Auto/Custom only. This service maps those
 * modes to the effective autopilot profile so hosts do not duplicate policy.
 */
export declare class AutonomyPermissionModeService {
    static buildAutoProfile(args?: {
        trustedRoots?: string[];
    }): AutopilotProfile;
    static resolveMode(args: {
        config: AutonomyPermissionModeConfig;
        workspaceRoot: string;
    }): AutonomyPermissionMode;
    static resolveEffectiveProfile(args: {
        config: AutonomyPermissionModeConfig;
        workspaceRoot: string;
    }): AutopilotProfile | undefined;
    static buildOptions(args: {
        config: AutonomyPermissionModeConfig;
        workspaceRoot: string;
    }): AutonomyPermissionModeOption[];
    static applyMode(args: {
        config: AutonomyPermissionModeConfig;
        mode: AutonomyPermissionMode;
        workspaceRoot: string;
    }): AutonomyPermissionModeConfig;
    static trustAutoRoot(args: {
        config: AutonomyPermissionModeConfig;
        workspaceRoot: string;
        root: string;
    }): AutonomyPermissionModeConfig;
    static addTrustedRootToProfile(args: {
        profile: AutopilotProfile;
        workspaceRoot: string;
        root: string;
    }): AutopilotProfile;
    static autoRootCapabilities(): AutopilotCapability[];
    private static isGeneratedAutoProfile;
    private static comparableProfile;
    private static formatRootForConfig;
    private static hasCustomProfile;
}
//# sourceMappingURL=permission-mode-service.d.ts.map