import { BaseAppConfig } from '../app';
import type { HttpRequest } from '../http/request';
export interface ResetToken<T = unknown> {
    token: string;
    data: T;
    generationTime: number;
    verifier: string;
}
export declare class Auth {
    static hashPassword(password: string): Promise<string>;
    static verifyHash(password: string, encodedHash: string): Promise<boolean>;
    static generateResetToken<T>(data: T): Promise<ResetToken<T>>;
    static decodeResetToken<T>(token: string): Promise<ResetToken<T>>;
}
export declare function createBasicAuthMiddleware(expectedUsername?: string): {
    new (): {
        readonly config: BaseAppConfig;
        handle(request: HttpRequest): Promise<void>;
    };
};
//# sourceMappingURL=provider.d.ts.map