import type { GovernorDepth } from "../policy/types.js"; import type { OutlineEntry, JumpEntry } from "../parser/types.js"; import { type ObservedFile } from "./workspace-read-view.js"; import type { JsonCodec } from "../ports/codec.js"; import type { ProseProjectionProvider } from "./colorful-prose-projection.js"; export interface SafeReadResult { path: string; projection: "content" | "outline" | "refused" | "error"; reason: string; content?: string | undefined; outline?: OutlineEntry[] | undefined; jumpTable?: JumpEntry[] | undefined; estimatedBytesAvoided?: number | undefined; next?: string[] | undefined; actual?: { lines: number; bytes: number; } | undefined; thresholds?: { lines: number; bytes: number; } | undefined; sessionDepth?: GovernorDepth | undefined; } export interface SafeReadOptions { codec: JsonCodec; policyPath?: string | undefined; graftignorePatterns?: string[] | undefined; sessionDepth?: GovernorDepth | undefined; budgetRemaining?: number | undefined; proseProjector?: ProseProjectionProvider | undefined; } /** * Applies read policy to bytes already observed. * * Takes the observation rather than a filesystem: the content this returns is * necessarily the content the policy decision was made about. */ export declare function safeRead(file: ObservedFile, options: SafeReadOptions): Promise; //# sourceMappingURL=safe-read.d.ts.map