import { ModuleMetadata, Type } from '@nestjs/common'; import { ClientConfig } from '@google-cloud/pubsub/build/src/pubsub'; import { PublishOptions } from '@google-cloud/pubsub/build/src/publisher'; export declare type GooglePubSubModuleOptions = { projectName?: string; } & Partial; export declare type GooglePubSubTopicOptions = { topicName?: string; projectName?: string; } & Partial; export interface GooglePubSubOptionsFactory { createGooglePubSubOptions(projectName?: string): Promise | GooglePubSubModuleOptions; } export interface GooglePubSubTopicOptionsFactory { createGooglePubSubTopicOptions(projectName?: string): Promise | GooglePubSubTopicOptions; } export interface GooglePubSubModuleAsyncOptions extends Pick { projectName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | GooglePubSubModuleOptions; inject?: any[]; } export interface GooglePubSubTopicAsyncOptions extends Pick { topicName: string; projectName?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | GooglePubSubTopicOptions; inject?: any[]; }