import { type ValidateFunction } from 'ajv'; import { type CallbackWithPromise } from '../../apis/callbacks.ts'; import { type API, type Callback } from '../../apis/definitions.ts'; import { type ApiVersionsResponseApi } from '../../apis/metadata/api-versions-v3.ts'; import { type ClientType } from '../../diagnostic.ts'; import { TypedEventEmitter, type TypedEvents } from '../../events.ts'; import { ConnectionPool, type ConnectionPoolEventPayload } from '../../network/connection-pool.ts'; import { type Broker, type Connection } from '../../network/connection.ts'; import { kInstance } from '../../symbols.ts'; import { type Metrics } from '../metrics.ts'; import { type BaseOptions, type ClusterMetadata, type MetadataOptions } from './types.ts'; export declare const kClientId: unique symbol; export declare const kBootstrapBrokers: unique symbol; export declare const kApis: unique symbol; export declare const kGetApi: unique symbol; export declare const kGetConnection: unique symbol; export declare const kGetBootstrapConnection: unique symbol; export declare const kOptions: unique symbol; export declare const kConnections: unique symbol; export declare const kCreateConnectionPool: unique symbol; export declare const kClosed: unique symbol; export declare const kListApis: unique symbol; export declare const kMetadata: unique symbol; export declare const kCheckNotClosed: unique symbol; export declare const kPerformWithRetry: unique symbol; export declare const kPerformDeduplicated: unique symbol; export declare const kValidateOptions: unique symbol; export declare const kInspect: unique symbol; export declare const kFormatValidationErrors: unique symbol; export declare const kPrometheus: unique symbol; export declare const kClientType: unique symbol; export declare const kAfterCreate: unique symbol; export declare const kContext: unique symbol; export interface BaseEvents extends TypedEvents { 'client:broker:connect': (payload: ConnectionPoolEventPayload) => void; 'client:broker:disconnect': (payload: ConnectionPoolEventPayload) => void; 'client:broker:failed': (payload: ConnectionPoolEventPayload) => void; 'client:broker:drain': (payload: ConnectionPoolEventPayload) => void; 'client:broker:sasl:handshake': (payload: ConnectionPoolEventPayload & { mechanisms: string[]; }) => void; 'client:broker:sasl:authentication': (payload: ConnectionPoolEventPayload & { authentication: Buffer; }) => void; 'client:broker:sasl:authentication:extended': (payload: ConnectionPoolEventPayload & { authentication: Buffer; }) => void; 'client:metadata': (metadata: ClusterMetadata) => void; 'client:close': () => void; } export declare class Base extends TypedEventEmitter { #private; [kInstance]: number; [kClientId]: string; [kClientType]: ClientType; [kContext]: unknown; [kBootstrapBrokers]: Broker[]; [kApis]: ApiVersionsResponseApi[]; [kOptions]: OptionsType; [kConnections]: ConnectionPool; [kClosed]: boolean; [kPrometheus]: Metrics | undefined; constructor(options: OptionsType); get instanceId(): number; get clientId(): string; get closed(): boolean; get type(): ClientType; get context(): unknown; emitWithDebug(section: string | null, name: string, ...args: any[]): boolean; close(callback: CallbackWithPromise): void; close(): Promise; listApis(callback: CallbackWithPromise): void; listApis(): Promise; metadata(options: MetadataOptions, callback: CallbackWithPromise): void; metadata(options: MetadataOptions): Promise; connectToBrokers(nodeIds: number[] | null, callback: CallbackWithPromise>): void; connectToBrokers(nodeIds?: number[] | null): Promise>; isActive(): boolean; isConnected(): boolean; [kCreateConnectionPool](context?: unknown): ConnectionPool; [kListApis](callback: CallbackWithPromise): void; [kMetadata](options: MetadataOptions, callback: CallbackWithPromise): void; [kCheckNotClosed](callback: CallbackWithPromise): boolean; clearMetadata(): void; [kPerformWithRetry](operationId: string, operation: (callback: Callback) => void, callback: CallbackWithPromise, attempt?: number, errors?: Error[], shouldSkipRetry?: (e: Error) => boolean): void | Promise; [kPerformDeduplicated](operationId: string, operation: (callback: CallbackWithPromise) => void, callback: CallbackWithPromise): void | Promise; [kGetApi], ResponseType>(name: string, callback: Callback>): void; [kGetConnection](broker: Broker, callback: Callback): void; [kGetBootstrapConnection](callback: Callback): void; [kValidateOptions](target: unknown, validator: ValidateFunction, targetName: string, throwOnErrors?: boolean): Error | null; [kInspect](...args: unknown[]): void; [kFormatValidationErrors](validator: ValidateFunction, targetName: string): string; [kAfterCreate](type: ClientType): void; }