import type { RAGBackendsResponse, RAGDocumentChunksResponse, RAGEvaluationCaseResult, RAGEvaluationInput, RAGEvaluationResponse, RAGRetrievalBaselinePromotionFromRunRequest, RAGRetrievalBaselinePromotionRequest, RAGRetrievalBaselineRevertRequest, RAGRetrievalReleaseIncidentAcknowledgeRequest, RAGRetrievalReleaseDecisionActionRequest, RAGRetrievalBaselineResponse, RAGRetrievalLaneHandoffDecisionRequest, RAGRetrievalLaneHandoffDecisionResponse, RAGRetrievalLaneHandoffIncidentStatusResponse, RAGRetrievalLaneHandoffStatusResponse, RAGRetrievalIncidentRemediationDecisionRequest, RAGRetrievalIncidentRemediationBulkExecutionRequest, RAGRetrievalIncidentRemediationExecutionRequest, RAGRetrievalIncidentRemediationExecutionResponse, RAGRetrievalIncidentRemediationStatusResponse, RAGRetrievalReleaseGroupHistoryResponse, RAGRetrievalReleaseIncidentStatusResponse, RAGRetrievalReleaseDriftStatusResponse, RAGRetrievalComparisonRequest, RAGAdaptiveNativePlannerBenchmarkResponse, RAGAdaptiveNativePlannerBenchmarkSnapshotResponse, RAGDocumentIngestInput, RAGDocumentChunk, RAGDocumentsResponse, RAGDocumentUrlIngestInput, RAGDocumentUploadIngestInput, RAGIngestResponse, RAGMutationResponse, RAGOperationsResponse, RAGSearchRequest, RAGSearchTracePruneResponse, RAGSource, RAGStatusResponse, RAGSyncRunOptions, RAGSyncResponse } from "@absolutejs/ai";
import type { RAGClientOptions, RAGDetailedSearchResponse, RAGMaintenanceOverview, RAGMaintenancePayload } from "../../types/client";
export declare const buildRAGMaintenanceOverview: (payload: RAGMaintenancePayload) => RAGMaintenanceOverview;
export declare const createRAGClient: (options: RAGClientOptions) => {
    backends(): Promise<RAGBackendsResponse>;
    clearIndex(): Promise<{
        ok: boolean;
    }>;
    createDocument(input: RAGDocumentIngestInput["documents"][number]): Promise<RAGMutationResponse>;
    deleteDocument(id: string): Promise<RAGMutationResponse>;
    documentChunks(id: string): Promise<RAGDocumentChunksResponse>;
    documents(kind?: string): Promise<RAGDocumentsResponse>;
    evaluate(input: RAGEvaluationInput): Promise<RAGEvaluationResponse>;
    evaluateStream(input: RAGEvaluationInput, options?: {
        onStart?: (event: {
            total: number;
        }) => void;
        onCase?: (event: {
            caseIndex: number;
            total: number;
            caseResult: RAGEvaluationCaseResult;
        }) => void;
        signal?: AbortSignal;
    }): Promise<RAGEvaluationResponse>;
    compareRetrievals(input: RAGRetrievalComparisonRequest): Promise<import("@absolutejs/ai").RAGRetrievalComparison>;
    retrievalComparisonHistory(input?: {
        limit?: number;
        suiteId?: string;
        label?: string;
        winnerId?: string;
        groupKey?: string;
        tag?: string;
    }): Promise<import("@absolutejs/ai").RAGRetrievalComparisonRun[]>;
    retrievalBaselines(input?: {
        groupKey?: string;
        tag?: string;
        limit?: number;
        status?: "active" | "superseded";
    }): Promise<import("@absolutejs/ai").RAGRetrievalBaselineRecord[]>;
    promoteRetrievalBaseline(input: RAGRetrievalBaselinePromotionRequest): Promise<import("@absolutejs/ai").RAGRetrievalBaselineRecord>;
    promoteRetrievalBaselineDetailed(input: RAGRetrievalBaselinePromotionRequest): Promise<RAGRetrievalBaselineResponse>;
    promoteRetrievalBaselineToLane(input: RAGRetrievalBaselinePromotionRequest & {
        rolloutLabel: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalBaselineRecord>;
    promoteRetrievalBaselineToLaneDetailed(input: RAGRetrievalBaselinePromotionRequest & {
        rolloutLabel: "canary" | "stable" | "rollback_target";
    }): Promise<RAGRetrievalBaselineResponse>;
    promoteRetrievalBaselineFromRun(input: RAGRetrievalBaselinePromotionFromRunRequest): Promise<import("@absolutejs/ai").RAGRetrievalBaselineRecord>;
    promoteRetrievalBaselineFromRunDetailed(input: RAGRetrievalBaselinePromotionFromRunRequest): Promise<RAGRetrievalBaselineResponse>;
    revertRetrievalBaseline(input: RAGRetrievalBaselineRevertRequest): Promise<import("@absolutejs/ai").RAGRetrievalBaselineRecord>;
    retrievalBaselineDecisions(input?: {
        groupKey?: string;
        limit?: number;
        kind?: "approve" | "promote" | "reject" | "revert";
        freshnessStatus?: "fresh" | "expired" | "not_applicable";
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseDecisionRecord[]>;
    retrievalReleaseGroupHistory(input: {
        groupKey: string;
        decisionLimit?: number;
        baselineLimit?: number;
        benchmarkLimit?: number;
        runLimit?: number;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<RAGRetrievalReleaseGroupHistoryResponse>;
    adaptiveNativePlannerBenchmark(input?: {
        limit?: number;
        runLimit?: number;
        label?: string;
        description?: string;
        groupKey?: string;
        corpusGroupKey?: string;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkResponse>;
    runAdaptiveNativePlannerBenchmark(input?: {
        limit?: number;
        runLimit?: number;
        topK?: number;
        label?: string;
        description?: string;
        groupKey?: string;
        corpusGroupKey?: string;
        persistRun?: boolean;
        baselineRetrievalId?: string;
        candidateRetrievalId?: string;
        retrievals?: Array<{
            id: string;
            label?: string;
            retrieval?: Record<string, unknown> | string;
        }>;
        tags?: string[];
        metadata?: Record<string, unknown>;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkResponse>;
    saveAdaptiveNativePlannerBenchmarkSnapshot(input?: {
        limit?: number;
        label?: string;
        description?: string;
        version?: number;
        createdAt?: number;
        metadata?: Record<string, unknown>;
        snapshotMetadata?: Record<string, unknown>;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkSnapshotResponse>;
    nativeBackendComparisonBenchmark(input?: {
        limit?: number;
        runLimit?: number;
        label?: string;
        description?: string;
        groupKey?: string;
        corpusGroupKey?: string;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkResponse>;
    runNativeBackendComparisonBenchmark(input?: {
        limit?: number;
        runLimit?: number;
        topK?: number;
        label?: string;
        description?: string;
        groupKey?: string;
        corpusGroupKey?: string;
        persistRun?: boolean;
        baselineRetrievalId?: string;
        candidateRetrievalId?: string;
        retrievals?: Array<{
            id: string;
            label?: string;
            retrieval?: Record<string, unknown> | string;
        }>;
        tags?: string[];
        metadata?: Record<string, unknown>;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkResponse>;
    saveNativeBackendComparisonBenchmarkSnapshot(input?: {
        limit?: number;
        label?: string;
        description?: string;
        version?: number;
        createdAt?: number;
        metadata?: Record<string, unknown>;
        snapshotMetadata?: Record<string, unknown>;
    }): Promise<RAGAdaptiveNativePlannerBenchmarkSnapshotResponse>;
    retrievalLaneHandoffs(input?: {
        groupKey?: string;
        sourceRolloutLabel?: "canary" | "stable" | "rollback_target";
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
        limit?: number;
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseLaneHandoffSummary[]>;
    retrievalLaneHandoffDecisions(input?: {
        groupKey?: string;
        sourceRolloutLabel?: "canary" | "stable" | "rollback_target";
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
        kind?: "approve" | "reject" | "complete";
        limit?: number;
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffDecisionRecord[]>;
    retrievalLaneHandoffIncidents(input?: {
        groupKey?: string;
        limit?: number;
        status?: "open" | "resolved";
        severity?: "warning" | "critical";
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffIncidentRecord[]>;
    retrievalLaneHandoffIncidentHistory(input?: {
        action?: "opened" | "acknowledged" | "unacknowledged" | "resolved";
        groupKey?: string;
        incidentId?: string;
        limit?: number;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffIncidentHistoryRecord[]>;
    retrievalLaneHandoffAutoCompletePolicyHistory(input?: {
        groupKey?: string;
        limit?: number;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffAutoCompletePolicyHistoryRecord[]>;
    retrievalReleaseLanePolicyHistory(input?: {
        groupKey?: string;
        limit?: number;
        rolloutLabel?: "canary" | "stable" | "rollback_target";
        scope?: "rollout_label" | "group_rollout_label";
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseLanePolicyHistoryRecord[]>;
    retrievalBaselineGatePolicyHistory(input?: {
        groupKey?: string;
        limit?: number;
        rolloutLabel?: "canary" | "stable" | "rollback_target";
        scope?: "rollout_label" | "group_rollout_label";
    }): Promise<import("@absolutejs/ai").RAGRetrievalBaselineGatePolicyHistoryRecord[]>;
    retrievalReleaseLaneEscalationPolicyHistory(input?: {
        groupKey?: string;
        limit?: number;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord[]>;
    retrievalReleaseIncidentPolicyHistory(input?: {
        groupKey?: string;
        limit?: number;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseLaneEscalationPolicyHistoryRecord[]>;
    retrievalReleaseIncidentStatus(): Promise<RAGRetrievalReleaseIncidentStatusResponse>;
    retrievalIncidentRemediationStatus(): Promise<RAGRetrievalIncidentRemediationStatusResponse>;
    retrievalLaneHandoffIncidentStatus(): Promise<RAGRetrievalLaneHandoffIncidentStatusResponse>;
    acknowledgeRetrievalLaneHandoffIncident(input: RAGRetrievalReleaseIncidentAcknowledgeRequest): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffIncidentRecord[]>;
    unacknowledgeRetrievalLaneHandoffIncident(input: {
        incidentId: string;
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffIncidentRecord[]>;
    resolveRetrievalLaneHandoffIncident(input: {
        incidentId: string;
        resolvedAt?: number;
        resolvedBy?: string;
        resolutionNotes?: string;
    }): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffIncidentRecord[]>;
    decideRetrievalLaneHandoff(input: RAGRetrievalLaneHandoffDecisionRequest): Promise<import("@absolutejs/ai").RAGRetrievalLaneHandoffDecisionRecord>;
    decideRetrievalLaneHandoffDetailed(input: RAGRetrievalLaneHandoffDecisionRequest): Promise<RAGRetrievalLaneHandoffDecisionResponse>;
    retrievalReleaseIncidents(input?: {
        groupKey?: string;
        limit?: number;
        status?: "open" | "resolved";
        severity?: "warning" | "critical";
        kind?: "approval_expired" | "baseline_regression" | "gate_failure" | "handoff_stale";
        acknowledged?: boolean;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseIncidentRecord[]>;
    retrievalIncidentRemediationDecisions(input?: {
        groupKey?: string;
        incidentId?: string;
        limit?: number;
        remediationKind?: RAGRetrievalIncidentRemediationDecisionRequest["remediationKind"];
        status?: "planned" | "applied" | "dismissed";
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalIncidentRemediationDecisionRecord[]>;
    retrievalIncidentRemediationExecutions(input?: {
        groupKey?: string;
        incidentId?: string;
        limit?: number;
        actionKind?: RAGRetrievalIncidentRemediationExecutionRequest["action"]["kind"];
        code?: NonNullable<RAGRetrievalIncidentRemediationExecutionResponse["execution"]>["code"];
        blockedByGuardrail?: boolean;
        idempotentReplay?: boolean;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
    }): Promise<import("@absolutejs/ai").RAGRetrievalIncidentRemediationExecutionHistoryRecord[]>;
    recordRetrievalIncidentRemediationDecision(input: RAGRetrievalIncidentRemediationDecisionRequest): Promise<import("@absolutejs/ai").RAGRetrievalIncidentRemediationDecisionRecord[]>;
    executeRetrievalIncidentRemediation(input: RAGRetrievalIncidentRemediationExecutionRequest): Promise<RAGRetrievalIncidentRemediationExecutionResponse>;
    bulkExecuteRetrievalIncidentRemediations(input: RAGRetrievalIncidentRemediationBulkExecutionRequest): Promise<{
        index: number;
        ok: boolean;
        execution?: import("@absolutejs/ai").RAGRetrievalIncidentRemediationExecutionResult;
        record?: import("@absolutejs/ai").RAGRetrievalIncidentRemediationDecisionRecord;
        error?: string;
    }[]>;
    acknowledgeRetrievalReleaseIncident(input: RAGRetrievalReleaseIncidentAcknowledgeRequest): Promise<import("@absolutejs/ai").RAGRetrievalReleaseIncidentRecord[]>;
    unacknowledgeRetrievalReleaseIncident(input: {
        incidentId: string;
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseIncidentRecord[]>;
    resolveRetrievalReleaseIncident(input: {
        incidentId: string;
        resolvedAt?: number;
        resolvedBy?: string;
        resolutionNotes?: string;
    }): Promise<import("@absolutejs/ai").RAGRetrievalReleaseIncidentRecord[]>;
    retrievalPromotionCandidates(input?: {
        groupKey?: string;
        limit?: number;
        tag?: string;
        targetRolloutLabel?: "canary" | "stable" | "rollback_target";
        approved?: boolean;
        ready?: boolean;
        blocked?: boolean;
        reviewStatus?: "approved" | "blocked" | "needs_review" | "ready";
        freshnessStatus?: "fresh" | "expired" | "not_applicable";
        sortBy?: "approvalFreshness" | "finishedAt" | "gateSeverity" | "priority";
        sortDirection?: "asc" | "desc";
    }): Promise<import("@absolutejs/ai").RAGRetrievalPromotionCandidate[]>;
    approveRetrievalCandidate(input: RAGRetrievalReleaseDecisionActionRequest): Promise<import("@absolutejs/ai").RAGRetrievalReleaseDecisionRecord[]>;
    rejectRetrievalCandidate(input: RAGRetrievalReleaseDecisionActionRequest): Promise<import("@absolutejs/ai").RAGRetrievalReleaseDecisionRecord[]>;
    ingest(chunks: RAGDocumentChunk[]): Promise<RAGIngestResponse>;
    ingestDocuments(input: RAGDocumentIngestInput): Promise<RAGIngestResponse>;
    ingestUploads(input: RAGDocumentUploadIngestInput): Promise<RAGIngestResponse>;
    ingestUrls(input: RAGDocumentUrlIngestInput): Promise<RAGIngestResponse>;
    analyzeBackend(): Promise<RAGMutationResponse>;
    ops(): Promise<RAGOperationsResponse>;
    searchTraceHistory(input?: {
        query?: string;
        groupKey?: string;
        tag?: string;
        limit?: number;
    }): Promise<import("@absolutejs/ai").RAGSearchTraceHistory>;
    searchTraceGroups(input?: {
        tag?: string;
        limit?: number;
    }): Promise<import("@absolutejs/ai").RAGSearchTraceGroupHistory>;
    searchTraceStats(input?: {
        tag?: string;
    }): Promise<import("@absolutejs/ai").RAGSearchTraceStats>;
    previewSearchTracePrune(input?: {
        maxAgeMs?: number;
        maxRecordsPerQuery?: number;
        maxRecordsPerGroup?: number;
        now?: number;
        tag?: string;
    }): Promise<import("@absolutejs/ai").RAGSearchTracePrunePreview>;
    pruneSearchTraces(input?: {
        maxAgeMs?: number;
        maxRecordsPerQuery?: number;
        maxRecordsPerGroup?: number;
        now?: number;
        tag?: string;
    }): Promise<RAGSearchTracePruneResponse>;
    searchTracePruneHistory(input?: {
        limit?: number;
        trigger?: "manual" | "write" | "schedule";
    }): Promise<import("@absolutejs/ai").RAGSearchTracePruneRun[]>;
    syncSources(): Promise<RAGSyncResponse>;
    syncAllSources(options?: RAGSyncRunOptions): Promise<RAGSyncResponse>;
    syncSource(id: string, options?: RAGSyncRunOptions): Promise<RAGSyncResponse>;
    reindexDocument(id: string): Promise<RAGMutationResponse>;
    reindexSource(source: string): Promise<RAGMutationResponse>;
    reseed(): Promise<RAGMutationResponse>;
    reset(): Promise<RAGMutationResponse>;
    rebuildNativeIndex(): Promise<RAGMutationResponse>;
    search: <IncludeTrace extends boolean | undefined = undefined>(input: RAGSearchRequest & {
        includeTrace?: IncludeTrace;
    }) => Promise<IncludeTrace extends true ? RAGDetailedSearchResponse : RAGSource[]>;
    searchWithTrace(input: RAGSearchRequest): Promise<RAGDetailedSearchResponse>;
    /**
     * @deprecated Use `searchWithTrace` for trace-aware search responses.
     */
    searchDetailed(input: RAGSearchRequest): Promise<RAGDetailedSearchResponse>;
    status(): Promise<RAGStatusResponse>;
    statusMaintenance(): Promise<RAGStatusResponse>;
    retrievalReleaseStatus(): Promise<import("@absolutejs/ai").RAGRetrievalComparisonRuntime | undefined>;
    retrievalReleaseDriftStatus(): Promise<RAGRetrievalReleaseDriftStatusResponse>;
    retrievalLaneHandoffStatus(): Promise<RAGRetrievalLaneHandoffStatusResponse>;
};
export type RAGClient = ReturnType<typeof createRAGClient>;
