import React from "react";
export declare type UserStatus = "LOGGED_IN" | "EXPIRED_LOGIN" | "UNKNOWN";
export declare type NodeClaimedStatus = "NOT_CLAIMED" | "CLAIMED";
export declare type UserNodeAccess = "NO_ACCESS" | "ACCESS_OK";
declare type UserPreference = "AGENT" | "CLOUD" | "UNDEFINED";
export declare type NodeLiveness = "LIVE" | "NOT_LIVE";
declare type CTATYPE = "NAVIGATE" | "REFRESH";
export declare enum MigrationModalPromos {
    PROMO_SIGN_IN_CLOUD = "PROMO_SIGN_IN_CLOUD",
    PROMO_SIGN_UP_CLOUD = "PROMO_SIGN_UP_CLOUD",
    PROMO_IVNITED_TO_SPACE = "PROMO_IVNITED_TO_SPACE",
    PROMO_CLAIM_NODE = "PROMO_CLAIM_NODE",
    PROMO_TO_USE_NEW_DASHBAORD = "PROMO_TO_USE_NEW_DASHBAORD",
    FALLBACK_TO_AGENT = "FALLBACK_TO_AGENT",
    NO_INFO_FALLBACK_TO_AGENT = "NO_INFO_FALLBACK_TO_AGENT"
}
declare type MigrationModalActions = {
    text: string;
    action: CTATYPE;
    toPath?: string;
    userPreference?: UserPreference | "DONT_SHOW";
};
declare type MigrationModalContent = {
    title: string;
    text: {
        header: ((props: any) => React.ReactNode) | string;
        bullets?: Array<string | ((props?: any) => React.ReactNode)>;
        footer?: ((props: any) => React.ReactNode) | string;
    };
    tickBoxOption: {
        text: string;
        prefrenceID: MigrationModalPromos;
    };
    CTA1: MigrationModalActions;
    CTA2?: MigrationModalActions;
};
declare type MigrationModalInfo = {
    [key in MigrationModalPromos]: MigrationModalContent;
};
export declare const migrationmodalInfo: MigrationModalInfo;
export declare type PromoProps = {
    userSavedPreference?: UserPreference;
    userStatus?: UserStatus;
    nodeClaimedStatus?: NodeClaimedStatus;
    userNodeAccess?: UserNodeAccess;
    nodeLiveness?: NodeLiveness;
};
export declare const goToAgentDashboard: ({ userSavedPreference }: PromoProps) => boolean;
export declare const goToCloud: ({ userSavedPreference, userStatus, nodeLiveness, userNodeAccess, }: PromoProps) => boolean;
declare const useMigrationModal: ({ userStatus, nodeClaimedStatus, userNodeAccess, nodeLiveness, }: PromoProps) => {
    migrationModalPromoInfo: MigrationModalContent;
    migrationModalPromo: MigrationModalPromos;
    setUserPrefrence: React.Dispatch<React.SetStateAction<UserPreference>>;
    userSavedPreference: UserPreference;
};
export default useMigrationModal;
