/// <reference types="node" />
import type { LoginAuthorization, UserInfo } from '@particle-network/auth-core';
import { EventEmitter } from 'events';
import React from 'react';
import type { AccountTipModalProps } from '../pages/account/accountTipModal';
import type { PaymentVerify } from '../pages/account/paymentVerifyModal';
import type { WrongPasswordInfo } from '../pages/account/wrongPasswordModal';
import type { AuthCoreModalOptions, ConnectionStatus, IAuthCoreModal, ICustomRouter, NavigateOptions, SocialConnectCallback } from './types';
export declare const defaultModalOptions: {
    projectId: string;
    clientKey: string;
    appId: string;
    themeType: string;
    language: string;
    fiatCoin: string;
    promptSettingConfig: {
        promptPaymentPasswordSettingWhenSign: number;
        promptMasterPasswordSettingWhenLogin: number;
    };
    customStyle: {
        modalWidth: number;
        modalHeight: number;
    };
    wallet: {
        visible: boolean;
        themeType: string;
    };
};
interface GlobalState {
    connectionStatus: ConnectionStatus;
    setConnectionStatus: (status: ConnectionStatus) => void;
    userInfo?: UserInfo;
    modalOptions: AuthCoreModalOptions;
    setModalOptions: (options: any) => void;
    showSelectSecurityAccount: (display: boolean, state?: any) => void;
    setWrongPassword: (info: WrongPasswordInfo) => void;
    setPaymentVerify: (props: PaymentVerify) => void;
    showAccountTipModal: (props: AccountTipModalProps) => void;
    setPaymentPassword: () => void;
    loginSuccessRedirectToApp: () => void;
    events: EventEmitter;
    authCoreModal: IAuthCoreModal;
    setAuthCoreModal: (params: any) => void;
    customRouter: ICustomRouter;
    setCustomRouter: (params: any) => void;
    customNavigate: (url: string | number, options?: NavigateOptions) => void;
    setLoginAuthorization: (loginAuthorization?: LoginAuthorization) => void;
    authCoreModalClose: () => void;
    socialConnectCallback?: SocialConnectCallback;
    setSocialConnectCallback: (callback?: SocialConnectCallback) => void;
}
export declare const GlobalContext: React.Context<GlobalState>;
export declare const AuthCoreContextProvider: (props: {
    options: AuthCoreModalOptions;
    children: React.ReactNode;
}) => React.JSX.Element;
export declare const useAuthCoreModal: () => {
    authCoreModalClose: () => void;
    authCoreModal: IAuthCoreModal;
    setAuthCoreModal: (params: any) => void;
};
export declare const useCustomRouter: () => {
    customRouter: ICustomRouter;
    setCustomRouter: (params: any) => void;
};
export declare const useCustomNavigate: () => (url: string | number, options?: NavigateOptions) => void;
export declare const useParticleAuth: () => GlobalState;
export declare const useModalOptions: () => {
    modalOptions: AuthCoreModalOptions;
    setModalOptions: (options: any) => void;
};
export declare const useEvents: () => {
    events: EventEmitter;
};
export {};
