///
import { ClientConfig, 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 { ClientProxy, ReadPacket, WritePacket } from '@nestjs/microservices';
import { Logger } from '@nestjs/common';
import { GCPubSubOptions } from './interfaces';
export declare class GCPubSubClient extends ClientProxy {
protected readonly options: GCPubSubOptions;
protected readonly logger: Logger;
protected readonly topicName: string;
protected readonly publisherConfig: PublishOptions;
protected readonly replyTopicName: string;
protected readonly clientConfig: ClientConfig;
protected readonly replySubscriptionName: string;
protected readonly subscriberConfig: SubscriberOptions;
protected readonly noAck: boolean;
protected client: PubSub | null;
protected replySubscription: Subscription | null;
protected topic: Topic | null;
constructor(options: GCPubSubOptions);
close(): Promise;
connect(): Promise;
createClient(): PubSub;
protected dispatchEvent(packet: ReadPacket): Promise;
protected publish(partialPacket: ReadPacket, callback: (packet: WritePacket) => void): any;
handleResponse(data: Buffer): Promise;
createIfNotExists(create: () => Promise): Promise;
}