import { ClientConfiguration } from "./types"; /** * HttpBaseClient is a base class for making HTTP requests to a Mochow server. * It provides basic functionality for making GET and POST requests, and handles * configuration, headers, and timeouts. * * The HttpClientConfig object should contain the following properties: * - endpoint: The URL of the Mochow server. * - username: (Optional) The username for authentication. * - password: (Optional) The password for authentication. * - version: (Optional) The version of the API endpoints. * - timeout: (Optional) The timeout for requests in milliseconds. * * Note: This is a base class and does not provide specific methods for interacting * with Mochow entities like collections or vectors. For that, use the HttpClient class * which extends this class and mixes in the Collection and Vector APIs. */ export declare class HttpBaseClient { config: ClientConfiguration; constructor(config: ClientConfiguration); get baseURL(): string; get authorization(): string; get timeout(): number; get headers(): { Authorization: string; ContentType: string; }; POST(url: string, params?: Record, data?: Record): Promise; DELETE(url: string, params?: Record, data?: Record): Promise; } declare const MochowClient_base: { new (...args: any[]): { readonly databasePrefix: string; listDatabases(): Promise; createDatabase(databaseName: string): Promise; dropDatabases(databaseName: string): Promise; config: ClientConfiguration; readonly baseURL: string; readonly authorization: string; readonly timeout: number; readonly headers: { Authorization: string; ContentType: string; }; POST(url: string, params?: Record, data?: Record): Promise; DELETE(url: string, params?: Record, data?: Record): Promise; }; } & { new (...args: any[]): { readonly tablePrefix: string; createTable(args: import("./types").CreateTableArgs): Promise; dropTable(database: string, table: string): Promise; listTables(database: string): Promise; descTable(database: string, table: string): Promise; addField(args: import("./types").AddFieldArgs): Promise; aliasTable(database: string, table: string, alias: string): Promise; unaliasTable(database: string, table: string, alias: string): Promise; showTableStats(database: string, table: string): Promise; config: ClientConfiguration; readonly baseURL: string; readonly authorization: string; readonly timeout: number; readonly headers: { Authorization: string; ContentType: string; }; POST(url: string, params?: Record, data?: Record): Promise; DELETE(url: string, params?: Record, data?: Record): Promise; }; } & { new (...args: any[]): { readonly indexPrefix: string; createIndex(database: string, table: string, indexes: import("./types").IndexSchema[]): Promise; dropIndex(database: string, table: string, indexName: string): Promise; descIndex(database: string, table: string, indexName: string): Promise; modifyIndex(database: string, table: string, indexSchema: import("./types").IndexSchema): Promise; rebuildIndex(database: string, table: string, indexName: string): Promise; config: ClientConfiguration; readonly baseURL: string; readonly authorization: string; readonly timeout: number; readonly headers: { Authorization: string; ContentType: string; }; POST(url: string, params?: Record, data?: Record): Promise; DELETE(url: string, params?: Record, data?: Record): Promise; }; } & { new (...args: any[]): { readonly rowPrefix: string; insert(args: import("./types").InsertArgs): Promise; upsert(args: import("./types").UpsertArgs): Promise; delete(args: import("./types").DeleteArgs): Promise; query(args: import("./types").QueryArgs): Promise; batchQuery(args: import("./types").BatchQueryArgs): Promise; batchSearch(args: import("./types").BatchSearchArgs): Promise; update(args: import("./types").UpdateArgs): Promise; select(args: import("./types").SelectArgs): Promise; vectorSearch(args: import("./types").VectorSearchArgs): Promise; bm25Search(args: import("./types").BM25SearchArgs): Promise; hybridSearch(args: import("./types").HybridSearchArgs): Promise; search(database: string, table: string, request: import("./types").searchRequest): Promise; config: ClientConfiguration; readonly baseURL: string; readonly authorization: string; readonly timeout: number; readonly headers: { Authorization: string; ContentType: string; }; POST(url: string, params?: Record, data?: Record): Promise; DELETE(url: string, params?: Record, data?: Record): Promise; }; } & typeof HttpBaseClient; /** * The HttpClient class extends the functionality * of the HttpBaseClient class by mixing in the * - Database * - Table * - Row * - Alias */ export declare class MochowClient extends MochowClient_base { } export {};