import { Context, HandlerType, Plugin, Registry } from '@tego/server';
import { Provider } from '.';
export interface Interceptor {
    manual?: boolean;
    expiresIn?: number;
    getReceiver(ctx: any): string;
    getCode?(ctx: any): string;
    validate?(ctx: Context, receiver: string): boolean | Promise<boolean>;
}
export default class PluginOtp extends Plugin {
    providers: Registry<typeof Provider>;
    interceptors: Registry<Interceptor>;
    intercept: HandlerType;
    install(): Promise<void>;
    load(): Promise<void>;
    getDefault(): Promise<any>;
}
