import { BearerUser, IStaticBearerVerifyOptions } from './types';
export declare class StaticBearerAuth {
    private readonly strategy;
    private static providers;
    private static verifyOptions;
    private hashTokens?;
    static init(strategy: string, provider?: StaticBearerUserProvider): StaticBearerAuth;
    private constructor();
    get provider(): StaticBearerUserProvider;
    withHashTokens(hashTokens: boolean): this;
    withUsers(users: BearerUser[] | BearerUser): this;
    addUser(user: BearerUser[] | BearerUser): this;
    withVerifyOptions(options: IStaticBearerVerifyOptions | string): this;
    connectPassport(): void;
}
export interface StaticBearerUserProvider {
    strategy: string;
    addUser(user: BearerUser | BearerUser[], hashToken?: boolean): void;
    getUser(token: string): BearerUser | undefined;
    hashedTokens?: boolean;
}
export declare class MapBasedStaticBearerUserProvider implements StaticBearerUserProvider {
    private readonly _strategy;
    private readonly _users;
    private readonly _hashedTokens;
    constructor(strategy: string, hashedTokens?: boolean);
    get users(): BearerUser[];
    get hashedTokens(): boolean;
    get strategy(): string;
    getUser(token: string): BearerUser | undefined;
    addUser(user: BearerUser | BearerUser[], hashToken?: boolean): void;
    getUsers(): BearerUser[];
}
//# sourceMappingURL=static-bearer-auth.d.ts.map