import * as tls from 'tls'; /** * Something to hold the socket endpoint. * * @export * @class Client */ export interface EndPoint { host: string; port: number; } export interface UpdateMetadata { isPending(): boolean; } /** * * * @export * @class Client */ export class Client { options: ClientOptions; finished: boolean; constructor(options?: ClientOptions); init(): Promise; end(): void; parseHostString(hostString: string): Promise; checkBrokerRedirect(host: string, port: number): Promise; nextCorrelationId(): number; updateMetadata(): UpdateMetadata; metadataRequest(topicNames: string[]): Promise; getTopicPartitions(topic: string): Promise; findLeader(topic: string, partition: number, notfoundOk: boolean): Promise; leaderServer(leader: string): Promise; produceRequest(requests: string[], codec: string): Promise; fetchRequest(requests: string[]): Promise; getPartitionOffset(leader: string, topic: string, partition: number, time: number): Promise; offsetRequest(requests: string[]): Promise; updateGroupCoordinator(groupid: string): Promise; joinConsumerGroupRequest(groupid: string, memberid: any, sessionTimeout: number, strategies: any[]): Promise; heartbeatRequest(groupId: any, memberId: any, generationId: any): Promise; syncConsumerGroupRequest(groupId: any, memberId: any, generationId: any, groupAssignment: any): Promise; leaveGroupRequest(groupId: any, memberId: any): Promise; offsetCommitRequestV2(groupId: any, memberId: any, generationId: any, requests: any): Promise; listGroupsRequest(): Promise; describeGroupRequest(groupId: any): Promise; log(...args: any[]): void; debug(...args: any[]): void; error(...args: any[]): void; warn(...args: any[]): void; trace(...args: any[]): void; } export interface ClientOptions { clientId?: string; connectionString?: string; ssl?: tls.ConnectionOptions; asyncCompression?: boolean; brokerRedirection?: boolean; reconnectionDelay?: { max?: number; min?: number; } logger?: { logLevel?: number; logstash?: { enabled?: boolean; } } }