import { Strategy as StrategyInterface } from "passport-strategy";
import { StrategyOptions } from "./interfaces/strategy-options.interface";
import { DataFromRequestFunction } from "./types/data-from-request.function";
import { HashFromRequestFunction } from "./types/hash-from-request.function";
import { DataToCheckStringFunction } from "./types/data-to-check-string.function";
import { HashVerifierFunction } from "./types/hash-verifier.function";
import { VerifyCallback } from "./types/verify-callback.function";
import { VerifyCallbackWithRequest } from "./types/verify-callback-with-request.function";
export declare class Strategy extends StrategyInterface {
    readonly options: StrategyOptions;
    readonly verify: any | VerifyCallback | VerifyCallbackWithRequest;
    readonly name: string;
    readonly dataFromRequest: DataFromRequestFunction;
    readonly hashFromRequest: HashFromRequestFunction;
    readonly dataToCheckString: DataToCheckStringFunction;
    readonly hashVerifier: HashVerifierFunction;
    constructor(options: StrategyOptions, verify: any | VerifyCallback | VerifyCallbackWithRequest);
    authenticate(request: any, options?: any): void;
    protected done(error: any, user?: any, info?: any): void;
}
