/** * Init-time guardrails — prevent accidental full-workspace blob indexing. * @see docs/specs/git-backed-blob-tier-v0.md §3.2 */ export declare const INIT_INDEX_MAX_FILES = 500; export declare const INIT_INDEX_MAX_BYTES: number; export type WorkspaceScanEstimate = { fileCount: number; totalBytes: number; }; export declare function collectInitIgnorePatterns(rootPath: string): string[]; /** Cheap pre-init estimate (stat only — no hashing). */ export declare function estimateWorkspaceScan(rootPath: string): WorkspaceScanEstimate; export declare function exceedsInitIndexThreshold(estimate: WorkspaceScanEstimate): boolean; export declare function hasRepoMarker(rootPath: string): boolean; /** Warn when init target looks like an umbrella folder (v0: warn only). */ export declare function getUmbrellaInitWarning(rootPath: string): string | undefined; export type InitIndexGateInput = { rootPath: string; indexWorkspace: boolean; /** CLI passed --index-workspace explicitly. */ explicitIndexWorkspace?: boolean; isInteractive?: boolean; confirmLargeIndex?: () => Promise; }; export type InitIndexGateResult = { ok: true; indexWorkspace: boolean; umbrellaWarning?: string; } | { ok: false; reason: 'gate'; message: string; estimate: WorkspaceScanEstimate; }; /** * Apply init indexing policy: default off; block large implicit scans. */ export declare function applyInitIndexGate(input: InitIndexGateInput): Promise; export declare function formatBytes(bytes: number): string; //# sourceMappingURL=init-storage-guard.d.ts.map