import { RequestExecutor, IRequestExecutorOptions } from "./RequestExecutor"; import { DocumentConventions } from ".."; import { ServerNode } from "./ServerNode"; import { IAuthOptions } from "../Auth/AuthOptions"; export declare class ClusterRequestExecutor extends RequestExecutor { private _clusterTopologySemaphore; protected constructor(authOptions: IAuthOptions, conventions: DocumentConventions); static createForSingleNodeWithConfigurationUpdates(url: string, databaseName: string, opts: IRequestExecutorOptions): ClusterRequestExecutor; static createForSingleNodeWithoutConfigurationUpdates(url: string, databaseName: string, opts: IRequestExecutorOptions): ClusterRequestExecutor; static createForSingleNode(url: string, opts: IRequestExecutorOptions): ClusterRequestExecutor; static createForSingleNode(url: string, opts: IRequestExecutorOptions): ClusterRequestExecutor; static create(initialUrls: string[], database: string, opts?: IRequestExecutorOptions): ClusterRequestExecutor; static create(initialUrls: string[], opts?: IRequestExecutorOptions): ClusterRequestExecutor; protected _performHealthCheck(serverNode: ServerNode, nodeIndex: number): Promise; updateTopology(node: ServerNode, timeout: number, forceUpdate: boolean): Promise; protected _updateClientConfigurationAsync(): Promise; protected _throwExceptions(details: string): void; dispose(): void; }