import { Language } from "../languages/Language"; import { PopMessage } from "../shared/PopMessage"; import { PopUser } from "../shared/PopUser"; import { PopServerConnection } from "./PopServerConnection"; import { EmailAddress } from "llibemailaddress"; export declare type IPopServerConfigGetUserCallback = (email: EmailAddress, connection: PopServerConnection) => Promise; export declare type IPopServerConfigHasExistingSessionCallback = (connection: PopServerConnection) => Promise; export declare type IPopServerConfigComparePasswordCallback = (raw: string, hash: string) => Promise; export declare type IPopServerConfigGetMessagesCallback = (connection: PopServerConnection) => Promise; export declare type IPopServerConfigDeleteMessagesCallback = (connection: PopServerConnection, messages: PopMessage[]) => Promise; export interface IPopServerConfigCallbacks { getUser?: IPopServerConfigGetUserCallback; hasExistingSession?: IPopServerConfigHasExistingSessionCallback; comparePassword?: IPopServerConfigComparePasswordCallback; getMessages?: IPopServerConfigGetMessagesCallback; deleteMessages?: IPopServerConfigDeleteMessagesCallback; } export declare class PopServerConfig { readonly defaultLanguage: Language; getUser: IPopServerConfigGetUserCallback; hasExistingSession: IPopServerConfigHasExistingSessionCallback; comparePassword: IPopServerConfigComparePasswordCallback; getMessages: IPopServerConfigGetMessagesCallback; deleteMessages: IPopServerConfigDeleteMessagesCallback; constructor(defaultLanguage?: Language, callbacks?: IPopServerConfigCallbacks); }