import { Schema } from "mongoose"; import { EnumMap, IJson, IDocument, IObject, IInstance, IModel, IAction, IActionTypes } from "@onebro/oba-common"; export declare type OBAuthIdLastAction = "registered" | "set" | "verified" | "authenticated" | "reset" | "created" | "updated"; export declare type OBAuthIdParams = "email" | "handle"; export declare type OBAuthIdConfig = EnumMap; export declare type OBAuthIdType = IObject & OBAuthIdConfig & { action: OBAuthIdLastAction; verified?: Date; verification?: string; next?: string; }; export interface OBAuthIdDocument extends IDocument, OBAuthIdType { username: string; } export interface OBAuthId extends IInstance, OBAuthIdDocument { setCode(s: string): Promise; valid(s: string): Promise; } export interface OBAuthIdModel extends IModel { } export declare type OBAuthIdPulicKeys = "email" | "verified" | "next"; export declare type OBAuthIdPulicData = Pick; export declare type OBAuthIdJson = IJson & OBAuthIdPulicData & { token: string; }; export declare type OBAuthIdModelMap = { OBAuthId: OBAuthIdModel; }; export declare type OBAuthIdInstanceMap = { authId: OBAuthId; }; export declare type OBAuthIdSchemaMap = { authId: Schema; }; export declare type OBAuthIdActionTypes = IActionTypes; export declare type OBAuthIdActions = EnumMap;