import { MultiDbManager } from '../core/multi-db-manager'; import { ReasonCode } from '../models/reason-codes'; import { Evidence } from '../models/evidence'; /** * Source code snippet with metadata. */ export interface SourceSnippet { file_path: string; start_line: number; end_line: number; core_start_line: number; core_end_line: number; snippet: string; content_hash: string; byte_size: number; evidence: Evidence; } /** * Source snippet error. */ export interface SourceSnippetError { error: 'SOURCE_UNAVAILABLE' | 'SYMBOL_NOT_FOUND' | 'SNIPPET_TOO_LARGE' | 'FILE_NOT_FOUND' | 'HASH_MISMATCH'; reason_codes?: ReasonCode[]; symbol_id?: string; requested_lines?: number; max_allowed?: number; file_path?: string; resolved_path?: string; expected_hash?: string; computed_hash?: string; evidence: Evidence; } /** * API for fetching source code snippets. * Provides gated access with size limits and hash verification. */ export declare class SourceSnippetApi { private contractApi; private dbManager; constructor(dbManager: MultiDbManager); /** * Fetch source code snippet by symbol ID or file path + range. * Gated access with size limits and hash verification. */ fetchSnippet(args: { symbol_id?: string; file_path?: string; start_line?: number; end_line?: number; content_hash?: string; include_context?: boolean; context_lines?: number; verify_hash?: boolean; pluginId: string; workspaceRoot?: string; }): Promise; } //# sourceMappingURL=source-snippet-api.d.ts.map