import type { RAGAdminActionRecord, RAGAdminJobRecord, RAGAdminCapabilities, RAGBackendCapabilities, RAGBackendMaintenanceSummary, RAGCorpusHealth, RAGDocumentSummary, RAGExtractorReadiness, RAGIngestJobRecord, RAGOperationsResponse, RAGSyncSourceRecord, RAGVectorStoreStatus } from "@absolutejs/ai";
export declare const useRAGOps: (path: string, autoLoad?: boolean) => {
    admin: import("vue").Ref<RAGAdminCapabilities | undefined, RAGAdminCapabilities | undefined>;
    adminActions: import("vue").Ref<{
        id: string;
        action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
        status: "completed" | "failed";
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        documentId?: string | undefined;
        target?: string | undefined;
        error?: string | undefined;
    }[], RAGAdminActionRecord[] | {
        id: string;
        action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
        status: "completed" | "failed";
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        documentId?: string | undefined;
        target?: string | undefined;
        error?: string | undefined;
    }[]>;
    adminJobs: import("vue").Ref<{
        id: string;
        action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
        status: import("@absolutejs/ai").RAGAdminJobStatus;
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        target?: string | undefined;
        error?: string | undefined;
    }[], RAGAdminJobRecord[] | {
        id: string;
        action: "analyze_backend" | "rebuild_native_index" | "clear_index" | "create_document" | "delete_document" | "promote_retrieval_baseline" | "revert_retrieval_baseline" | "prune_search_traces" | "reindex_document" | "reindex_source" | "sync_all_sources" | "sync_source" | "reseed" | "reset";
        status: import("@absolutejs/ai").RAGAdminJobStatus;
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        target?: string | undefined;
        error?: string | undefined;
    }[]>;
    capabilities: import("vue").Ref<RAGBackendCapabilities | undefined, RAGBackendCapabilities | undefined>;
    documents: import("vue").Ref<RAGDocumentSummary | undefined, RAGDocumentSummary | undefined>;
    error: import("vue").Ref<string | null, string | null>;
    health: import("vue").Ref<RAGCorpusHealth | undefined, RAGCorpusHealth | undefined>;
    ingestJobs: import("vue").Ref<{
        id: string;
        status: import("@absolutejs/ai").RAGIngestJobStatus;
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        inputKind: "chunks" | "documents" | "urls" | "uploads";
        requestedCount: number;
        chunkCount?: number | undefined;
        documentCount?: number | undefined;
        error?: string | undefined;
        extractorNames?: string[] | undefined;
    }[], RAGIngestJobRecord[] | {
        id: string;
        status: import("@absolutejs/ai").RAGIngestJobStatus;
        startedAt: number;
        finishedAt?: number | undefined;
        elapsedMs?: number | undefined;
        inputKind: "chunks" | "documents" | "urls" | "uploads";
        requestedCount: number;
        chunkCount?: number | undefined;
        documentCount?: number | undefined;
        error?: string | undefined;
        extractorNames?: string[] | undefined;
    }[]>;
    isLoading: import("vue").Ref<boolean, boolean>;
    maintenance: import("vue").Ref<RAGBackendMaintenanceSummary | undefined, RAGBackendMaintenanceSummary | undefined>;
    operations: import("vue").Ref<RAGOperationsResponse | undefined, RAGOperationsResponse | undefined>;
    readiness: import("vue").Ref<RAGExtractorReadiness | undefined, RAGExtractorReadiness | undefined>;
    refresh: () => Promise<RAGOperationsResponse>;
    reset: () => void;
    status: import("vue").Ref<RAGVectorStoreStatus | undefined, RAGVectorStoreStatus | undefined>;
    syncSources: import("vue").Ref<{
        id: string;
        label: string;
        kind: "directory" | "url" | "storage" | "email" | "connector" | "custom";
        status: import("@absolutejs/ai").RAGSyncSourceStatus;
        description?: string | undefined;
        target?: string | undefined;
        lastStartedAt?: number | undefined;
        lastSyncedAt?: number | undefined;
        lastSyncDurationMs?: number | undefined;
        lastError?: string | undefined;
        lastSuccessfulSyncAt?: number | undefined;
        consecutiveFailures?: number | undefined;
        retryAttempts?: number | undefined;
        nextRetryAt?: number | undefined;
        documentCount?: number | undefined;
        chunkCount?: number | undefined;
        reconciliation?: {
            refreshMode: "noop" | "targeted";
            staleDocumentIds: string[];
            staleSyncKeys: string[];
            refreshedDocumentIds: string[];
            refreshedSyncKeys: string[];
            unchangedDocumentIds: string[];
            unchangedSyncKeys: string[];
            targetedRefreshSyncKeys: string[];
            duplicateSyncKeyGroups: {
                syncKey: string;
                count: number;
                documentIds: string[];
            }[];
            lineageConflicts: {
                syncKey: string;
                lineageIds: string[];
                versionIds: string[];
                latestDocumentIds: string[];
                documentIds: string[];
                documents: {
                    documentId: string;
                    lineageId?: string | undefined;
                    versionId?: string | undefined;
                    versionNumber?: number | undefined;
                    isLatestVersion: boolean;
                }[];
                reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
            }[];
        } | undefined;
        diagnostics?: {
            summary: string;
            entries: {
                code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
                severity: "info" | "warning" | "error";
                summary: string;
            }[];
            extractionFailures?: {
                itemLabel: string;
                itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
                reason: string;
                remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
            }[] | undefined;
            retryGuidance?: {
                action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
                reason: string;
                nextRetryAt?: number | undefined;
                resumeCursor?: string | undefined;
                syncKeys?: string[] | undefined;
            } | undefined;
        } | undefined;
        metadata?: Record<string, unknown> | undefined;
    }[], RAGSyncSourceRecord[] | {
        id: string;
        label: string;
        kind: "directory" | "url" | "storage" | "email" | "connector" | "custom";
        status: import("@absolutejs/ai").RAGSyncSourceStatus;
        description?: string | undefined;
        target?: string | undefined;
        lastStartedAt?: number | undefined;
        lastSyncedAt?: number | undefined;
        lastSyncDurationMs?: number | undefined;
        lastError?: string | undefined;
        lastSuccessfulSyncAt?: number | undefined;
        consecutiveFailures?: number | undefined;
        retryAttempts?: number | undefined;
        nextRetryAt?: number | undefined;
        documentCount?: number | undefined;
        chunkCount?: number | undefined;
        reconciliation?: {
            refreshMode: "noop" | "targeted";
            staleDocumentIds: string[];
            staleSyncKeys: string[];
            refreshedDocumentIds: string[];
            refreshedSyncKeys: string[];
            unchangedDocumentIds: string[];
            unchangedSyncKeys: string[];
            targetedRefreshSyncKeys: string[];
            duplicateSyncKeyGroups: {
                syncKey: string;
                count: number;
                documentIds: string[];
            }[];
            lineageConflicts: {
                syncKey: string;
                lineageIds: string[];
                versionIds: string[];
                latestDocumentIds: string[];
                documentIds: string[];
                documents: {
                    documentId: string;
                    lineageId?: string | undefined;
                    versionId?: string | undefined;
                    versionNumber?: number | undefined;
                    isLatestVersion: boolean;
                }[];
                reasons: Array<"duplicate_sync_key" | "multiple_lineages" | "multiple_versions" | "multiple_latest_versions">;
            }[];
        } | undefined;
        diagnostics?: {
            summary: string;
            entries: {
                code: import("@absolutejs/ai").RAGSyncSourceDiagnosticCode;
                severity: "info" | "warning" | "error";
                summary: string;
            }[];
            extractionFailures?: {
                itemLabel: string;
                itemKind: "directory_file" | "url" | "storage_object" | "email_attachment";
                reason: string;
                remediation: "configure_extractor" | "add_ocr_extractor" | "inspect_file";
            }[] | undefined;
            retryGuidance?: {
                action: "wait_for_retry" | "resume_sync" | "resolve_conflicts" | "rerun_sync" | "inspect_source" | "configure_extractor";
                reason: string;
                nextRetryAt?: number | undefined;
                resumeCursor?: string | undefined;
                syncKeys?: string[] | undefined;
            } | undefined;
        } | undefined;
        metadata?: Record<string, unknown> | undefined;
    }[]>;
};
export type UseRAGOpsResult = ReturnType<typeof useRAGOps>;
