import { EdgeAccountOptions, EdgeContext, EdgeUserInfo } from 'edge-core-js'; import type { ExperimentConfig, InitialRouteName, OnLogEvent, OnLogin, OnNotificationPermit, OnPerfEvent } from '../components/publicApi/publicTypes'; import { RootState } from '../reducers/RootReducer'; import { Branding } from './Branding'; import { Action } from './ReduxActions'; export type { Action, RootState }; export interface Imports { readonly accountOptions: EdgeAccountOptions; readonly branding?: Branding; readonly context: EdgeContext; readonly fastLogin?: boolean; readonly forceLightAccountCreate?: boolean; readonly initialUserInfo?: EdgeUserInfo; readonly initialRoute?: InitialRouteName; readonly onLogEvent?: OnLogEvent; readonly onComplete?: () => void; readonly onLogin?: OnLogin; readonly onPerfEvent: OnPerfEvent; readonly onNotificationPermit?: OnNotificationPermit; readonly recoveryKey?: string; readonly skipOtpReminder?: boolean; readonly skipSecurityAlerts?: boolean; readonly experimentConfig: ExperimentConfig; readonly customPermissionsFunction?: () => void; } export type GetState = () => RootState; export type Dispatch = (action: Action | ((dispatch: Dispatch, getState: GetState, i: Imports) => Return)) => Return; type UseDispatch = () => Dispatch; type UseSelector = (select: (state: RootState) => T) => T; export declare const useDispatch: UseDispatch; export declare const useSelector: UseSelector;