import type { ApprovedFilesystemAccessGrant } from '../../core/core-types.js';
import type { RuntimeFilesystemPermissionPolicy } from '../../core/permission-policy.js';
import type { SessionState } from '../../core/session-state.js';
export interface FilesystemAccessDecision {
    outcome: 'allow' | 'require_approval' | 'deny';
    canonicalPath: string;
    canonicalWorkspaceRoots: string[];
    allowPersistentGrant?: boolean;
    fileGrantPath?: string;
    folderGrantPath?: string;
    reason?: string;
}
export declare function getFilesystemAccessDecision(options: {
    path: string;
    policy: RuntimeFilesystemPermissionPolicy;
    access: 'read' | 'write';
}): Promise<FilesystemAccessDecision>;
export declare function enforceFilesystemPolicy(options: {
    path: string;
    policy: RuntimeFilesystemPermissionPolicy;
    access: 'read' | 'write';
    sessionState?: SessionState;
    approvalGrants?: ApprovedFilesystemAccessGrant[];
}): Promise<void>;
//# sourceMappingURL=filesystem-policy.d.ts.map