import { DynamicModule, InjectionToken, ModuleMetadata, Type } from '@nestjs/common';
import { LockServiceOptions } from './types';
export type Injection = InjectionToken[];
export interface LockModuleModuleAsyncOptions extends Pick<ModuleMetadata, 'imports' | 'providers'> {
    name?: string;
    useClass?: Type;
    useFactory?: (...args: any[]) => LockServiceOptions | Promise<LockServiceOptions>;
    inject?: Injection;
}
export declare class LockModule {
    static forRoot(options?: LockServiceOptions, isGlobal?: boolean): DynamicModule;
    static forRootAsync(options: LockModuleModuleAsyncOptions, isGlobal?: boolean): DynamicModule;
}
