/// import type { Binary, Long, Timestamp } from '../bson'; import type { ClientSession } from '../sessions'; import type { Topology } from './topology'; export declare const STATE_CLOSING = "closing"; export declare const STATE_CLOSED = "closed"; export declare const STATE_CONNECTING = "connecting"; export declare const STATE_CONNECTED = "connected"; /** * An enumeration of topology types we know about * @public */ export declare const TopologyType: Readonly<{ readonly Single: "Single"; readonly ReplicaSetNoPrimary: "ReplicaSetNoPrimary"; readonly ReplicaSetWithPrimary: "ReplicaSetWithPrimary"; readonly Sharded: "Sharded"; readonly Unknown: "Unknown"; readonly LoadBalanced: "LoadBalanced"; }>; /** @public */ export declare type TopologyType = typeof TopologyType[keyof typeof TopologyType]; /** * An enumeration of server types we know about * @public */ export declare const ServerType: Readonly<{ readonly Standalone: "Standalone"; readonly Mongos: "Mongos"; readonly PossiblePrimary: "PossiblePrimary"; readonly RSPrimary: "RSPrimary"; readonly RSSecondary: "RSSecondary"; readonly RSArbiter: "RSArbiter"; readonly RSOther: "RSOther"; readonly RSGhost: "RSGhost"; readonly Unknown: "Unknown"; readonly LoadBalancer: "LoadBalancer"; }>; /** @public */ export declare type ServerType = typeof ServerType[keyof typeof ServerType]; /** @internal */ export declare type TimerQueue = Set; /** @internal */ export declare function drainTimerQueue(queue: TimerQueue): void; /** @public */ export interface ClusterTime { clusterTime: Timestamp; signature: { hash: Binary; keyId: Long; }; } /** Shared function to determine clusterTime for a given topology or session */ export declare function _advanceClusterTime(entity: Topology | ClientSession, $clusterTime: ClusterTime): void; //# sourceMappingURL=common.d.ts.map