import { ClientConfig, Message, PubSub, Subscription, Topic } from '@google-cloud/pubsub'; import { PublishOptions } from '@google-cloud/pubsub/build/src/publisher'; import { SubscriberOptions } from '@google-cloud/pubsub/build/src/subscriber'; import { CustomTransportStrategy, Server } from '@nestjs/microservices'; import { Logger } from '@nestjs/common'; import { GCPubSubOptions } from './interfaces'; export declare class GCPubSubServer extends Server implements CustomTransportStrategy { protected readonly options: GCPubSubOptions; protected logger: Logger; protected readonly clientConfig: ClientConfig; protected readonly topicName: string; protected readonly publisherConfig: PublishOptions; protected readonly subscriptionName: string; protected readonly subscriberConfig: SubscriberOptions; protected readonly noAck: boolean; protected client: PubSub | null; protected readonly topics: Map; protected subscription: Subscription | null; constructor(options: GCPubSubOptions); listen(callback: () => void): Promise; close(): Promise; handleMessage(message: Message): Promise; sendMessage(message: T, replyTo: string, id: string): Promise; createIfNotExists(create: () => Promise): Promise; createClient(): PubSub; }