export declare const DEFAULT_SNAPSHOT_MAX_FILE_BYTES: number;
export type SnapshotFileDecision = {
    ok: true;
    relativePath: string;
    absolutePath: string;
    size: number;
    binary: boolean;
} | {
    ok: false;
    relativePath?: string;
    absolutePath?: string;
    reason: string;
};
export interface SnapshotPolicyOptions {
    maxFileBytes?: number;
    excludedSegments?: Iterable<string>;
}
export interface SnapshotPolicy {
    maxFileBytes: number;
    excludedSegments: ReadonlySet<string>;
}
export declare function createSnapshotPolicy(options?: SnapshotPolicyOptions): SnapshotPolicy;
export declare function normalizeProjectRelativePath(cwd: string, candidatePath: string): string | undefined;
export declare function isExcludedSnapshotPath(relativePath: string, policy?: SnapshotPolicy): boolean;
export declare function isLikelyBinaryContent(content: Buffer): boolean;
export declare function evaluateSnapshotFile(cwd: string, candidatePath: string, policy?: SnapshotPolicy): Promise<SnapshotFileDecision>;
//# sourceMappingURL=snapshot-policy.d.ts.map