/**
 * Builds the effective runtime-owned permission policy for the active tool set.
 *
 * The compiler is intentionally deterministic and conservative: mode presets
 * define the broad behavior, and declared capabilities only widen the surfaces
 * that are actually available in the current registry.
 */
import type { RuntimePermissionPolicy } from '../../core/permission-policy.js';
export interface EffectivePermissionPolicyInput {
    toolNames: readonly string[];
    modeName?: string;
    workspaceRoots?: string[];
    persistentApprovals?: RuntimePermissionPolicy['filesystem']['persistentApprovals'];
    dangerouslySkipRuntimePermissions?: boolean;
    dangerouslySkipSpreadsheetPermissions?: boolean;
}
export declare function buildEffectivePermissionPolicy(input: EffectivePermissionPolicyInput): RuntimePermissionPolicy;
export declare function createDefaultPermissionPolicy(): RuntimePermissionPolicy;
//# sourceMappingURL=compiler.d.ts.map