import type { AlpRouteRef, Context } from "alp-node"; import type MongoUsersManager from "./MongoUsersManager"; import type { AccessResponseHooks, AuthenticationService } from "./services/authentification/AuthenticationService"; import type { AllowedMapParamsStrategy, AllowedStrategyKeys } from "./services/authentification/types"; import type { User, UserSanitized } from "./types"; export interface CreateAuthControllerParams { authenticationService: AuthenticationService; homeRouterKey?: string; usersManager: MongoUsersManager; defaultStrategy?: StrategyKeys; authHooks?: AuthHooks; } export interface AuthController { login: AlpRouteRef; addScope: AlpRouteRef; response: AlpRouteRef; logout: AlpRouteRef; } type OptionalRecord = Partial>; export interface AuthHooks extends AccessResponseHooks { paramsForLogin?: (strategy: StrategyKey, ctx: Context) => OptionalRecord | Promise> | Promise | void; } export declare function createAuthController({ usersManager, authenticationService, homeRouterKey, defaultStrategy, authHooks, }: CreateAuthControllerParams): AuthController; export {}; //# sourceMappingURL=createAuthController.d.ts.map