import { ClientOptions } from '../../interfaces';
import { Type, Provider, ModuleMetadata } from '@nestjs/common/interfaces';
export declare type ClientProviderOptions = ClientOptions & {
    name: string;
};
export declare type ClientsModuleOptions = Array<ClientProviderOptions>;
export interface ClientsModuleOptionsFactory {
    createClientOptions(): Promise<ClientOptions> | ClientOptions;
}
export interface ClientsProviderAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
    useExisting?: Type<ClientsModuleOptionsFactory>;
    useClass?: Type<ClientsModuleOptionsFactory>;
    useFactory?: (...args: any[]) => Promise<ClientOptions> | ClientOptions;
    inject?: any[];
    extraProviders?: Provider[];
    name: string;
}
export declare type ClientsModuleAsyncOptions = Array<ClientsProviderAsyncOptions>;
