import { type ResponseType } from 'axios'; import { type Table as ArrowTable } from 'apache-arrow'; import { type RemoteResponse, type RemoteRequest } from '../middleware'; import type { MetricType } from '..'; interface HttpLancedbClientMiddleware { onRemoteRequest(req: RemoteRequest, next: (req: RemoteRequest) => Promise): Promise; } export declare class HttpLancedbClient { private readonly _dbName?; private readonly _url; private readonly _apiKey; private readonly _middlewares; private readonly _timeout; constructor(url: string, apiKey: string, timeout?: number, _dbName?: string | undefined); get uri(): string; search(tableName: string, vector: number[], k: number, nprobes: number, prefilter: boolean, refineFactor?: number, columns?: string[], filter?: string, metricType?: MetricType, fastSearch?: boolean): Promise>; /** * Sent GET request. */ get(path: string, params?: Record): Promise; /** * Sent POST request. */ post(path: string, data?: any, params?: Record, content?: string | undefined, responseType?: ResponseType | undefined): Promise; /** * Instrument this client with middleware * @param mw - The middleware that instruments the client * @returns - an instance of this client instrumented with the middleware */ withMiddleware(mw: HttpLancedbClientMiddleware): HttpLancedbClient; /** * Make a clone of this client */ private clone; } export {};