export interface PathSecurityGateOptions {
    allowlistRoots?: string[];
    excludeNames?: string[];
    allowedExtensions?: readonly string[];
    maxFileBytes?: number;
    maxFiles?: number;
}
export interface PathPreviewFile {
    relativePath: string;
    sizeBytes: number;
}
export interface PathPreviewResult {
    rootPath: string;
    rootRealpath: string;
    acceptedFiles: PathPreviewFile[];
    skippedFiles: Array<{
        relativePath: string;
        reason: string;
    }>;
    blocked: boolean;
    blockedReason?: string;
}
export declare function isWithinAllowlist(target: string, allowlist: string[]): boolean;
export declare class PathSecurityGate {
    private readonly allowlistRootsOverride;
    private readonly excludeNames;
    private readonly allowedExtensions;
    private readonly maxFileBytes;
    private readonly maxFiles;
    constructor(options?: PathSecurityGateOptions);
    preview(rootPath: string): Promise<PathPreviewResult>;
}
//# sourceMappingURL=pathSecurityGate.d.ts.map