import type { PostgreSQL } from "@cocalc/database/postgres/types";
import { InitPassport, PassportManagerOpts } from "@cocalc/server/auth/sso/types";
import { PassportStrategyFrontend } from "@cocalc/util/types/passport-types";
export declare function get_passport_manager(): PassportManager | null;
export declare function init_passport(opts: InitPassport): Promise<void>;
export declare class PassportManager {
    private readonly router;
    private readonly database;
    private readonly host;
    private passports;
    private auth_url;
    constructor(opts: PassportManagerOpts);
    private init_passport_settings;
    private handle_get_api_key;
    private strategies_v1;
    get_strategies_v2(): PassportStrategyFrontend[];
    private strategies_v2;
    init(): Promise<void>;
    private check_exclusive_domains_unique;
    private init_strategies_endpoint;
    private init_email_verification;
    private init_password_reset_token;
    private get_extra_default_opts;
    private get_extra_opts;
    private init_extra_strategies;
    private getVerify;
    private getStrategyInstance;
    private getHandleReturn;
    private setState;
    private checkState;
    private initStrategy;
}
interface IsPasswordCorrect {
    database: PostgreSQL;
    password: string;
    password_hash?: string;
    account_id?: string;
    email_address?: string;
    allow_empty_password?: boolean;
    cb: (err?: any, correct?: boolean) => void;
}
export declare function is_password_correct(opts: IsPasswordCorrect): Promise<void>;
export declare function verify_email_send_token(opts: any): Promise<void>;
export {};
