import { DynamicModule, ModuleMetadata, Type } from '@nestjs/common'; export declare const REDIS_MODULE_OPTIONS: unique symbol; export declare const REDIS_CLIENT = "REDIS_CLIENT"; export declare const REDIS_DEFAULT_CLIENT = "default"; export type RedisClientOptions = { url: string; }; export type RedisModuleOptions = RedisClientOptions & { name?: string; }; export interface RedisOptionsFactory { createRedisOptions(): Promise | RedisModuleOptions; } export interface RedisModuleAsyncOptions extends Pick { name?: string; useExisting?: Type; useClass?: Type; useFactory?: (...args: any[]) => Promise | RedisModuleOptions; inject?: any[]; } export declare const getRedisClientProviderKey: (name?: string) => string; export declare class RedisModule { static register(config: RedisModuleOptions): DynamicModule; static registerAsync(options: RedisModuleAsyncOptions): { module: typeof RedisModule; providers: ({ provide: symbol; useFactory: (...args: any[]) => RedisModuleOptions | Promise; inject: any[]; } | { provide: string; useFactory: typeof RedisModule.getRedisClientProvider; inject: symbol[]; } | { provide: Type; useClass: Type; })[]; exports: string[]; }; private static createAsyncProviders; private static createAsyncOptionsProvider; private static getRedisClientProvider; }