import { DynamicModule, ModuleMetadata, Type } from '@nestjs/common';
import { IPaymeStrategy } from './IPaymeStrategy';
export interface IAccount {
    [key: string]: string;
}
export interface PaymeGuardOptions {
    username: string;
    password: string;
}
export interface PaymeModuleAsyncOptions extends Pick<ModuleMetadata, 'imports'> {
    inject?: any[];
    paymeStrategy: Type<IPaymeStrategy>;
    useFactory: (...args: any[]) => Promise<PaymeGuardOptions> | PaymeGuardOptions;
    isGlobal?: boolean;
}
export interface PaymeModuleOptions extends Pick<ModuleMetadata, 'imports'> {
    paymeStrategy: Type<IPaymeStrategy>;
    paymeGuard: PaymeGuardOptions;
    isGlobal?: boolean;
}
export declare class PaymeModule {
    static forRoot(options: PaymeModuleOptions): DynamicModule;
    static forRootAsync(options: PaymeModuleAsyncOptions): DynamicModule;
}
