export interface Init { brandId: string; eventId: string; playerId: string; applicationKey: string; log?: boolean; root?: HTMLElement | any; style?: { model: number; src: string; }; media?: SetMediaProps; texts?: { [key in TextKeys]: string | any; }; disableWidgetDrag?: boolean; locale?: string; signature: string; signatureBet: string; host?: string; } export type infoPopupDomKeys = 'infoPopupWrapper' | 'infoPopup' | 'infoPopupHeader' | 'infoPopupBody' | 'infoPopupFooter' | 'infoPopupButtonOptIn' | 'infoPopupButtonOptOut' | 'infoPopupCloseButton'; export type infoPopupDOM = { [key in infoPopupDomKeys]: HTMLElement | HTMLDivElement | any; }; export interface SetMediaProps { key: 'widget' | 'fullScreenAnimation' | string; type: 'lottie' | 'img' | 'image' | string; src: string; lottieConfig?: any; } export type WidgetDomKeys = 'widgetWrapper' | 'widget' | 'widgetHeader' | 'widgetBody' | 'widgetFooter' | 'widgetCurrentAmount' | 'widgetMediaWrapper' | 'widgetButtonsOptWrapper' | 'widgetButtonOptIn' | 'widgetButtonOptOut' | 'widgetActionsBar' | 'widgetInfoButton' | 'widgetMinimizeButton' | 'widgetMaximizeButton' | 'widgetCloseButton' | 'widgetInfoLabelWrapper'; export type WidgetDOM = { [key in WidgetDomKeys]: HTMLElement | HTMLDivElement | any; }; export interface PropsRender { root?: HTMLDivElement; style?: { model: number; src: string; }; media?: SetMediaProps; disableWidgetDrag?: boolean; } export type TextKeys = 'jackpotName' | 'optInButton' | 'optOutButton' | 'loading' | 'errorDefaultMessage' | 'userInLabel' | 'userOutLabel' | 'winMessage' | 'closeWidgetConfirmMessage' | 'termsAndConditionsContent' | 'termsPopupAcceptButtonLabel' | 'termsPopupGetOutButtonLabel' | 'communityJackpotWin' | 'jackpotWin'; export type Texts = { [key in TextKeys]: string; }; export type CallbackKeys = 'optin' | 'optOut' | 'updateAmount' | 'userWin' | 'init' | 'mount' | 'communityWin' | 'jackpotWin'; export type Callbacks = { [key in CallbackKeys]: Function; }; export type CustomCallbacks = { [key in CallbackKeys]: boolean; }; export interface BetJackpot { wager: string | number; winner?: boolean; } export interface CustomWinAnimation { lottieUrl?: string; cssUrl?: string; } export interface Api { get: Function; postOpt: Function; postBet: Function; } export interface displayCommunityJackpotWin { mediaProps?: SetMediaProps; message?: any; } export interface displayJackpotWinInterface { mediaProps?: SetMediaProps; message?: any; } export interface Jooba { init: ({}: Init) => void; actions: { optin: Function; optOut: Function; updateText: (key: TextKeys, value: string) => {} | any; updateAllTexts: any; updateStyle: Function; updateWidgetMedia: Function; displayWinner: (props: CustomWinAnimation) => void; displayCommunityWin: (props?: displayCommunityJackpotWin) => void; displayJackpotWin: (props?: displayJackpotWinInterface) => void; betJackpot: Function; destroy: Function; updateWidgetInfoLabel: (message: any) => void; }; events: { on: (callback: CallbackKeys, func: Function) => {} | any; }; } export declare enum notificationTypeEnum { NORMAL_MAIN = 1, NORMAL_INFORMED = 2, COMMUNITY_MAIN = 3, COMMUNITY_POOL = 4 } export interface winResponse { amount: number; currency: string; notificationType: notificationTypeEnum; operator: string; playerId: string; }