export * from './service.ts';
import { VectorStorageService, type VectorUpsertParams, type VectorSearchParams, type VectorResult, type VectorSearchResult, type VectorSearchResultWithDocument, type VectorUpsertResult } from './service.ts';
import { type Logger } from '@agentuity/client';
import { z } from 'zod';
export declare const VectorClientOptionsSchema: z.ZodObject<{
    apiKey: z.ZodOptional<z.ZodString>;
    url: z.ZodOptional<z.ZodString>;
    orgId: z.ZodOptional<z.ZodString>;
    logger: z.ZodOptional<z.ZodCustom<Logger, Logger>>;
}, z.core.$strip>;
export type VectorClientOptions = z.infer<typeof VectorClientOptionsSchema>;
export declare class VectorClient {
    #private;
    constructor(options?: VectorClientOptions);
    upsert(name: string, ...documents: VectorUpsertParams[]): Promise<VectorUpsertResult[]>;
    get<T = Record<string, unknown>>(name: string, key: string): Promise<VectorResult<T>>;
    getMany<T = Record<string, unknown>>(name: string, ...keys: string[]): Promise<Map<string, VectorSearchResultWithDocument<T>>>;
    search<T = Record<string, unknown>>(name: string, params: VectorSearchParams<T>): Promise<VectorSearchResult<T>[]>;
    delete(name: string, ...keys: string[]): Promise<number>;
    exists(name: string): Promise<boolean>;
    getStats(name: string): Promise<{
        sum: number;
        count: number;
        createdAt?: number | undefined;
        lastUsed?: number | undefined;
        internal?: boolean | undefined;
        sampledResults?: Record<string, {
            size: number;
            firstUsed: number;
            lastUsed: number;
            embedding?: number[] | undefined;
            document?: string | undefined;
            metadata?: Record<string, unknown> | undefined;
            count?: number | undefined;
            expiresAt?: string | undefined;
        }> | undefined;
    }>;
    getAllStats(params?: Parameters<VectorStorageService['getAllStats']>[0]): Promise<Record<string, {
        sum: number;
        count: number;
        createdAt?: number | undefined;
        lastUsed?: number | undefined;
        internal?: boolean | undefined;
    }> | {
        namespaces: Record<string, {
            sum: number;
            count: number;
            createdAt?: number | undefined;
            lastUsed?: number | undefined;
            internal?: boolean | undefined;
        }>;
        total: number;
        limit: number;
        offset: number;
        hasMore: boolean;
    }>;
    getNamespaces(): Promise<string[]>;
    deleteNamespace(name: string): Promise<void>;
}
//# sourceMappingURL=index.d.ts.map