import * as readline from 'node:readline/promises';
interface ClaudeSettings {
    permissions?: {
        allow?: string[];
        deny?: string[];
    };
    [key: string]: unknown;
}
/**
 * Returns true if `existing` permission covers `required`.
 * e.g. "Bash(npm:*)" covers "Bash(npm install:*)" because the command
 * prefix "npm" is a word-boundary prefix of "npm install".
 */
export declare function permissionCovers(existing: string, required: string): boolean;
export declare function readClaudeSettings(dir: string): ClaudeSettings;
export declare function getMissingPermissions(required: readonly string[], allowed: string[]): string[];
export declare function validateAgentPermissions(agents: string[], rl: readline.Interface, dir?: string): Promise<void>;
export {};
//# sourceMappingURL=permissions.d.ts.map