import type { HomeServerApi } from "../net/HomeServerApi"; import type { BaseRegistrationStage } from "./stages/BaseRegistrationStage"; import type { AccountDetails, RegistrationFlow, AuthData } from "./types"; type FlowSelector = (flows: RegistrationFlow[]) => RegistrationFlow | void; export declare class Registration { private readonly _hsApi; private readonly _accountDetails; private readonly _flowSelector; private _registerResponse?; readonly homeserver: string; constructor(homeserver: string, hsApi: HomeServerApi, accountDetails: AccountDetails, flowSelector?: FlowSelector); start(): Promise; /** * Finish a registration stage, return value is: * - the next stage if this stage was completed successfully * - undefined if registration is completed */ submitStage(stage: BaseRegistrationStage): Promise; private parseStagesFromResponse; private parseRegistrationResponse; private _createRegistrationStage; get authData(): AuthData | undefined; } export {};