import type { AgentPreset } from '../workflows/types.js';
import type { AgentPermissions, CompiledAgentPermissions, CompileInput } from './types.js';
type FileAction = 'read' | 'write';
interface ExpandedPreset {
    read: string[];
    write: string[];
    deny: string[];
}
export declare function defaultPermissionsForPreset(preset: AgentPreset | undefined): AgentPermissions;
export declare function expandPreset(preset: AgentPermissions['access'], options?: {
    projectDir?: string;
    workdir?: string;
}): ExpandedPreset;
export declare function globsToScopes(globs: string[], action: FileAction): string[];
export declare function compileAgentPermissions(input: CompileInput): CompiledAgentPermissions;
export declare function mergeAcl(compilations: readonly CompiledAgentPermissions[]): Record<string, string[]>;
export declare function resolveAgentPermissions(agentName: string, permissions: AgentPermissions | undefined, projectDir: string, workspace: string): CompiledAgentPermissions;
export declare function compileAgentScopes(input: CompileInput): CompiledAgentPermissions;
export declare function mergePermissionSources(dotfileScopes: string[], yamlScopes: string[], rawScopes: string[]): string[];
export declare const expandAccessPreset: typeof expandPreset;
export declare const globToScopes: (globs: string[], action: FileAction, _projectDir?: string) => string[];
export {};
//# sourceMappingURL=compiler.d.ts.map