import { Type } from "../../sdk/ai/index.js";
import { type ExtensionAPI } from "../../sdk/coding-agent/index.js";
import { type RecallMemoryObservation } from "../branch.js";
import type { ObservationRecord, ReflectionRecord } from "../types.js";
export declare const RECALL_OBSERVATION_TOOL_NAME = "recall";
type RecallObservationToolStatus = "ok" | "partial" | "invalid_id" | "not_found" | "no_source" | "source_unavailable" | "no_provenance";
type ObservationDetails = Pick<ObservationRecord, "id" | "content" | "timestamp" | "relevance">;
type ReflectionDetails = Pick<ReflectionRecord, "id" | "content" | "supportingObservationIds" | "legacy"> & {
    reflectionIndex: number;
};
export type RecallSourceEntryDetails = {
    id: string;
    origin: string;
    timestamp: string;
    tokens: number;
    qualifiers: string[];
    content?: string;
};
type RecallObservationMatchDetails = {
    status: RecallMemoryObservation["status"];
    observationEntryId: string;
    observationRecordIndex: number;
    observation: ObservationDetails;
    sourceEntryIds?: string[];
    sourceEntries?: RecallSourceEntryDetails[];
    missingSourceEntryIds?: string[];
    nonSourceEntryIds?: string[];
    sourceCharacterCount?: number;
};
type RecallUnavailableSupportingObservationDetails = {
    reflectionId: string;
    reflectionIndex: number;
    observationId: string;
};
type RecallUnavailableReflectionProvenanceDetails = {
    reflectionId: string;
    reflectionIndex: number;
    reason: "legacy";
};
export type RecallObservationToolDetails = {
    status: RecallObservationToolStatus;
    memoryId: string;
    observationId: string;
    collision: boolean;
    partial: boolean;
    reflections: ReflectionDetails[];
    directObservationMatches: RecallObservationMatchDetails[];
    observations: RecallObservationMatchDetails[];
    matches: RecallObservationMatchDetails[];
    sourceEntries: RecallSourceEntryDetails[];
    unavailableSupportingObservations: RecallUnavailableSupportingObservationDetails[];
    unavailableReflectionProvenance: RecallUnavailableReflectionProvenanceDetails[];
    missingSourceEntryIds: string[];
    nonSourceEntryIds: string[];
    sourceCharacterCount?: number;
    message?: string;
};
export declare const recallObservationTool: import("../../sdk/coding-agent/index.js").ToolDefinition<Type.TObject<{
    id: Type.TString;
}>, unknown> & import("../../sdk/coding-agent/index.js").ToolDefinition<any, any>;
export declare function registerRecallTool(ext: ExtensionAPI): void;
export {};
//# sourceMappingURL=recall-observation.d.ts.map