# Broker

**Kind:** Type

**Source:** [`packages/microservices/external/kafka.interface.ts`](https://github.com/nestjs/nest/blob/master/packages/microservices/external/kafka.interface.ts#L667)

**Part of:** [Microservices](subsystem-packages-microservices)

## Definition

```ts
{ isConnected(): boolean; connect(): Promise<void>; disconnect(): Promise<void>; apiVersions(): Promise<ApiVersions>; metadata(topics: string[]): Promise<BrokerMetadata>; describeGroups: (options: { groupIds: string[] }) => Promise<any>; offsetCommit(request: { groupId: string; groupGenerationId: number; memberId: string; retentionTime?: number; topics: TopicOffsets[]; }): Promise<any>; offsetFetch(request: { groupId: string; topics: TopicOffsets[] }): Promise<{ responses: TopicOffsets[]; }>; fetch(request: { replicaId?: number; isolationLevel?: number; maxWaitTime?: number; minBytes?: number; maxBytes?: number; topics: Array<{ topic: string; partitions: Array<{ partition: number; fetchOffset: string; maxBytes: number; }>; }>; rackId?: string; }): Promise<any>; produce(request: { topicData: Array<{ topic: string; partitions: Array<{ partition: number; firstSequence?: number; messages: Message[]; }>; }>; transactionalId?: string; producerId?: number; producerEpoch?: number; acks?: number; timeout?: number; compression?: CompressionTypes; }): Promise<any>; }
```
