import type { RAGBackendsResponse, RAGContentFormat, RAGChunkingStrategy, RAGMutationResponse } from '../../../types/ai';
export declare const useRAGIndexAdmin: (path: string) => {
    backends: import("vue").Ref<{
        ok: true;
        defaultMode?: string | undefined;
        activeModeCookie?: string | undefined;
        backends: {
            id: string;
            label: string;
            path?: string | undefined;
            available: boolean;
            reason?: string | undefined;
            lastSeedMs?: number | undefined;
            status?: {
                backend: "in_memory" | "sqlite" | "postgres";
                vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
                dimensions?: number | undefined;
                native?: {
                    requested: boolean;
                    available: boolean;
                    active: boolean;
                    mode?: "vec0" | undefined;
                    tableName?: string | undefined;
                    distanceMetric?: "cosine" | "l2" | undefined;
                    resolution?: {
                        status: import("../..").SQLiteVecResolutionStatus;
                        source: import("../..").SQLiteVecResolutionSource;
                        platformKey: string;
                        packageName?: string | undefined;
                        packageVersion?: string | undefined;
                        packageRoot?: string | undefined;
                        libraryFile?: string | undefined;
                        libraryPath?: string | undefined;
                        reason?: string | undefined;
                    } | undefined;
                    fallbackReason?: string | undefined;
                    lastLoadError?: string | undefined;
                    lastQueryError?: string | undefined;
                    lastUpsertError?: string | undefined;
                } | {
                    requested: boolean;
                    available: boolean;
                    active: boolean;
                    mode?: "pgvector" | undefined;
                    extensionName?: string | undefined;
                    schemaName?: string | undefined;
                    tableName?: string | undefined;
                    distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
                    indexType?: "none" | "hnsw" | "ivfflat" | undefined;
                    fallbackReason?: string | undefined;
                    lastInitError?: string | undefined;
                    lastQueryError?: string | undefined;
                    lastUpsertError?: string | undefined;
                    lastMigrationError?: string | undefined;
                } | undefined;
            } | undefined;
            capabilities?: {
                backend: "in_memory" | "sqlite" | "postgres" | "custom";
                persistence: "memory_only" | "embedded" | "external";
                nativeVectorSearch: boolean;
                serverSideFiltering: boolean;
                streamingIngestStatus: boolean;
            } | undefined;
        }[];
    } | null, RAGBackendsResponse | {
        ok: true;
        defaultMode?: string | undefined;
        activeModeCookie?: string | undefined;
        backends: {
            id: string;
            label: string;
            path?: string | undefined;
            available: boolean;
            reason?: string | undefined;
            lastSeedMs?: number | undefined;
            status?: {
                backend: "in_memory" | "sqlite" | "postgres";
                vectorMode: "in_memory" | "json_fallback" | "native_vec0" | "native_pgvector";
                dimensions?: number | undefined;
                native?: {
                    requested: boolean;
                    available: boolean;
                    active: boolean;
                    mode?: "vec0" | undefined;
                    tableName?: string | undefined;
                    distanceMetric?: "cosine" | "l2" | undefined;
                    resolution?: {
                        status: import("../..").SQLiteVecResolutionStatus;
                        source: import("../..").SQLiteVecResolutionSource;
                        platformKey: string;
                        packageName?: string | undefined;
                        packageVersion?: string | undefined;
                        packageRoot?: string | undefined;
                        libraryFile?: string | undefined;
                        libraryPath?: string | undefined;
                        reason?: string | undefined;
                    } | undefined;
                    fallbackReason?: string | undefined;
                    lastLoadError?: string | undefined;
                    lastQueryError?: string | undefined;
                    lastUpsertError?: string | undefined;
                } | {
                    requested: boolean;
                    available: boolean;
                    active: boolean;
                    mode?: "pgvector" | undefined;
                    extensionName?: string | undefined;
                    schemaName?: string | undefined;
                    tableName?: string | undefined;
                    distanceMetric?: "cosine" | "l2" | "inner_product" | undefined;
                    indexType?: "none" | "hnsw" | "ivfflat" | undefined;
                    fallbackReason?: string | undefined;
                    lastInitError?: string | undefined;
                    lastQueryError?: string | undefined;
                    lastUpsertError?: string | undefined;
                    lastMigrationError?: string | undefined;
                } | undefined;
            } | undefined;
            capabilities?: {
                backend: "in_memory" | "sqlite" | "postgres" | "custom";
                persistence: "memory_only" | "embedded" | "external";
                nativeVectorSearch: boolean;
                serverSideFiltering: boolean;
                streamingIngestStatus: boolean;
            } | undefined;
        }[];
    } | null>;
    clearIndex: () => Promise<{
        ok: boolean;
    }>;
    createDocument: (input: {
        id?: string;
        title?: string;
        source?: string;
        text: string;
        format?: RAGContentFormat;
        metadata?: Record<string, unknown>;
        chunking?: {
            maxChunkLength?: number;
            chunkOverlap?: number;
            minChunkLength?: number;
            strategy?: RAGChunkingStrategy;
        };
    }) => Promise<RAGMutationResponse>;
    deleteDocument: (id: string) => Promise<RAGMutationResponse>;
    error: import("vue").Ref<string | null, string | null>;
    isLoading: import("vue").Ref<boolean, boolean>;
    lastMutation: import("vue").Ref<{
        ok: boolean;
        error?: string | undefined;
        deleted?: string | undefined;
        inserted?: string | undefined;
        status?: string | undefined;
        documents?: number | undefined;
        backendStats?: Record<string, {
            chunkCount: number;
            totalDocuments: number;
            elapsedMs: number;
        }> | undefined;
        document?: {
            id: string;
            title: string;
            source: string;
            text?: string | undefined;
            kind?: string | undefined;
            format?: RAGContentFormat | undefined;
            chunkStrategy?: RAGChunkingStrategy | undefined;
            chunkSize?: number | undefined;
            chunkCount?: number | undefined;
            createdAt?: number | undefined;
            updatedAt?: number | undefined;
            metadata?: Record<string, unknown> | undefined;
        } | undefined;
    } | null, RAGMutationResponse | {
        ok: boolean;
        error?: string | undefined;
        deleted?: string | undefined;
        inserted?: string | undefined;
        status?: string | undefined;
        documents?: number | undefined;
        backendStats?: Record<string, {
            chunkCount: number;
            totalDocuments: number;
            elapsedMs: number;
        }> | undefined;
        document?: {
            id: string;
            title: string;
            source: string;
            text?: string | undefined;
            kind?: string | undefined;
            format?: RAGContentFormat | undefined;
            chunkStrategy?: RAGChunkingStrategy | undefined;
            chunkSize?: number | undefined;
            chunkCount?: number | undefined;
            createdAt?: number | undefined;
            updatedAt?: number | undefined;
            metadata?: Record<string, unknown> | undefined;
        } | undefined;
    } | null>;
    loadBackends: () => Promise<RAGBackendsResponse>;
    reseed: () => Promise<RAGMutationResponse>;
    reset: () => Promise<RAGMutationResponse>;
    resetState: () => void;
};
export type UseRAGIndexAdminResult = ReturnType<typeof useRAGIndexAdmin>;
