import { Configuration } from "../../../../config";
import { UserReadPrivateResponse } from "@newcoin-foundation/iosdk-newgraph-client-js";
export declare const routesToCreateWizard: {
    "/": string;
    "/signup/auth": string;
    "/signup/domain": string;
    "/signup/create": string;
    "/signup/subscribe": string;
};
export declare type States = {
    current: "HASH_VERIFY";
    hasNext: boolean;
    hasPrev: false;
    nextLink?: string;
} | {
    current: "SELECT_DOMAIN";
    hasNext: boolean;
    hasPrev: boolean;
    nextLink?: string;
} | {
    current: "AUTHENTICATE";
    hasNext: boolean;
    hasPrev: boolean;
    nextLink?: string;
} | {
    current: "SUBSCRIBE";
    hasNext: boolean;
    hasPrev: boolean;
    nextLink?: string;
} | {
    current: "CREATE_USER";
    hasNext: boolean;
    hasPrev: boolean;
    nextLink?: string;
} | {
    current: "DONE";
    hasNext: false;
    hasPrev: false;
    nextLink?: string;
};
export declare type WizardInput = {
    authenticated: boolean;
    inviteHashVerified: boolean;
    authorized: boolean;
    inviteHash: string;
    subscribed: boolean;
    formUsername: string;
    formUsernameIsAvailable: string;
    user: UserReadPrivateResponse | null;
    legacyToken: string;
    isLegacyUpdateOngoing: boolean;
    featureFlags: Configuration["featureFlags"];
    couponCode: string;
    formPhone: string | undefined;
};
export declare type BaseState = {
    current: string;
    nextLink?: string;
    hasNext: boolean;
    hasPrev: boolean;
};
export declare type Events = {
    type: "NEXT";
    data: WizardInput;
} | {
    type: "PREV";
    data: WizardInput;
} | {
    type: "UPDATE";
    data: WizardInput;
};
export declare const Wizard: {
    create(state: States, baseState: BaseState): States & BaseState & import("overmind/lib/statemachine").MachineMethods<States, Events, BaseState>;
};
