import type { Handler } from "../types"; import type { BunRequest } from "../core/request"; export interface AuthenticateOptions { session?: boolean; successRedirect?: string; failureRedirect?: string; failureFlash?: boolean | string; successFlash?: boolean | string; assignProperty?: string; failWithError?: boolean; passReqToCallback?: boolean; } export interface Strategy { name: string; authenticate(req: BunRequest, options?: AuthenticateOptions): void; } export interface SerializeUserFn { (user: TUser, done: (err: Error | null, id?: any) => void): void; } export interface DeserializeUserFn { (id: any, done: (err: Error | null, user?: TUser | false | null) => void): void; } export declare class Passport { private strategies; private _serializeUser; private _deserializeUser; private _userProperty; use(strategy: Strategy): this; use(name: string, strategy: Strategy): this; unuse(name: string): this; serializeUser(fn: SerializeUserFn): void; deserializeUser(fn: DeserializeUserFn): void; initialize(options?: { userProperty?: string; }): Handler; session(options?: { pauseStream?: boolean; }): Handler; authenticate(strategyOrStrategies: string | string[], options?: AuthenticateOptions | ((err: Error | null, user?: any, info?: any) => void), callback?: (err: Error | null, user?: any, info?: any) => void): Handler; authorize(strategy: string | string[], options?: AuthenticateOptions, callback?: (err: Error | null, user?: any, info?: any) => void): Handler; } export declare const passport: Passport; //# sourceMappingURL=passport.d.ts.map