import { type ContextExtractionRun } from '../../storage/sqlite/index.js'; import type { UnderstandingKind } from '../domain.js'; export type ExtractorId = 'turn-semantics' | 'transcript-synthesis' | 'connector-semantic'; export type ExtractorDefinition = { id: ExtractorId; version: string; inputKinds: Array<'conversation' | 'connector' | 'file' | 'task'>; requiredProcessingPolicy: 'local_only' | 'remote_allowed'; authorityCeiling: 'user_explicit' | 'user_observed' | 'system_inferred' | 'external_untrusted'; candidateKinds: UnderstandingKind[]; maxAutomaticStatus: 'active' | 'candidate'; timeoutMs: number; }; export declare function getExtractorDefinition(id: ExtractorId): ExtractorDefinition; export declare function getRegisteredExtractorDefinition(id: string): ExtractorDefinition | undefined; export declare function extractionInputHash(input: string): string; export declare function claimRegisteredExtraction(input: { extractorId: ExtractorId; sourceRef: string; contentForHash: string; processingPolicy: 'local_only' | 'remote_allowed'; destination: ContextExtractionRun['destination']; }): { run: ContextExtractionRun; shouldExecute: boolean; };