import { AlertState } from "../alert/state.types"; import { BasketState } from "../basket/state.types"; import { CampaignState } from "../campaign/state.types"; import { ContractState } from "../contract/state.types"; import { DebuggingState } from "../debugging/state.types"; import { LanguageState } from "../language/state.types"; import { ProductState } from "../product/state.types"; import { ThemingState } from "../theming/state.types"; import { UIState } from "../ui/state.types"; import { OrderJourneyState } from "../orderJourney/state.types"; import { WalletState } from "../wallet/state.types"; import { ModalState } from "../modal/state.types"; import { WindowHapiEventCommandCallbackHandler } from "../common/events/types"; import { WindowHapiModuleName } from "../common/enums"; import { ATSState } from "../ats/state.types"; import { WindowHapiClassInterface, WindowHapiModuleWithConstructorArgs } from "./window"; import { WindowHapiValidationsCommon } from "../common/validations.types"; import { WindowHapiValidationsBasket } from "../basket/validations.types"; import { WindowHapiValidationsCampaign } from "../campaign/validations.types"; import { WindowHapiValidationsContract } from "../contract/validations.types"; import { WindowHapiValidationsLanguage } from "../language/validations.types"; import { WindowHapiValidationsProduct } from "../product/validations.types"; import { WindowHapiValidationsTheming } from "../theming/validations.types"; import { WindowHapiValidationsOrderJourney } from "../orderJourney/validations.types"; import { WindowHapiValidationsWallet } from "../wallet/validations.types"; import { WindowHapiValidations } from "./validation.types"; import { ExperimentalState } from "../experimental/state.types"; import { ProductCacheState } from "../product/state.cache.types"; import { ContractCacheState } from "../contract/state.cache.types"; export type WindowHapiState = WindowHapiModuleWithConstructorArgs<{ [WindowHapiModuleName.alert]: WindowHapiStateModule; [WindowHapiModuleName.basket]: WindowHapiStateModule; [WindowHapiModuleName.campaign]: WindowHapiStateModule; [WindowHapiModuleName.contract]: WindowHapiStateModule; [WindowHapiModuleName.debugging]: WindowHapiStateModule; [WindowHapiModuleName.language]: WindowHapiStateModule; [WindowHapiModuleName.product]: WindowHapiStateModule; [WindowHapiModuleName.theming]: WindowHapiStateModule; [WindowHapiModuleName.ui]: WindowHapiStateModule; [WindowHapiModuleName.orderJourney]: WindowHapiStateModule; [WindowHapiModuleName.wallet]: WindowHapiStateModule; [WindowHapiModuleName.modal]: WindowHapiStateModule; [WindowHapiModuleName.ats]: WindowHapiStateModule; [WindowHapiModuleName.experimental]: WindowHapiStateModule; basePropertiesThatShouldNotBeDocumented: string[]; handleDefaultStateFromQueryParams: (params: string | string[]) => void; rehydrateInitialState: (initialState: Record, getStateModuleName?: (storeName: string) => string, throwError?: boolean) => void; onBeforeStateChange: () => void; onAfterStateChange: () => void; stores: { [WindowHapiModuleName.alert]: WindowHapiStateModule; [WindowHapiModuleName.basket]: WindowHapiStateModule; [WindowHapiModuleName.campaign]: WindowHapiStateModule; [WindowHapiModuleName.contract]: WindowHapiStateModule; [WindowHapiModuleName.debugging]: WindowHapiStateModule; [WindowHapiModuleName.language]: WindowHapiStateModule; [WindowHapiModuleName.product]: WindowHapiStateModule; [WindowHapiModuleName.theming]: WindowHapiStateModule; [WindowHapiModuleName.ui]: WindowHapiStateModule; [WindowHapiModuleName.orderJourney]: WindowHapiStateModule; [WindowHapiModuleName.wallet]: WindowHapiStateModule; [WindowHapiModuleName.modal]: WindowHapiStateModule; [WindowHapiModuleName.ats]: WindowHapiStateModule; [WindowHapiModuleName.experimental]: WindowHapiStateModule; }; saveStateSnapshot: () => string; restoreStateSnapshot: (snapshotId: string) => void; cleanStateSnapshot: (snapshotId: string) => void; toJSON: Record; onStateInitialHydrate: (instanceName: string) => Record>; }, { readonly core: WindowHapiClassInterface; }>; export type WindowHapiStatesJSON = { [WindowHapiModuleName.alert]: AlertState; [WindowHapiModuleName.basket]: BasketState; [WindowHapiModuleName.campaign]: CampaignState; [WindowHapiModuleName.contract]: ContractState; [WindowHapiModuleName.debugging]: DebuggingState; [WindowHapiModuleName.language]: LanguageState; [WindowHapiModuleName.product]: ProductState; [WindowHapiModuleName.theming]: ThemingState; [WindowHapiModuleName.ui]: UIState; [WindowHapiModuleName.orderJourney]: OrderJourneyState; [WindowHapiModuleName.wallet]: WalletState; [WindowHapiModuleName.modal]: ModalState; [WindowHapiModuleName.ats]: ATSState; [WindowHapiModuleName.experimental]: ExperimentalState; }; export type WindowHapiStateBase = { propertiesThatShouldNotBeDocumented: string[]; __elementsStateModuleName: string; toJSON: any; addClassPropertiesObserver: () => void; validations: StateValidations; cache: WindowHapiStateModule | undefined; }; export type HapiStateValueWithListener = { onChange: (callback: WindowHapiEventCommandCallbackHandler) => string; onChangeInternal: (callback: WindowHapiEventCommandCallbackHandler) => string; value: T; }; export type WindowHapiStateModule = WindowHapiStateBase & { [P in keyof T]: T[P] | HapiStateValueWithListener | ((v: T[P]) => void); }; export type StateValidationKey = keyof WindowHapiValidations | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsCommon}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsBasket}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsCampaign}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsContract}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsLanguage}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsProduct}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsTheming}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsOrderJourney}` | `${keyof WindowHapiValidations}.${keyof WindowHapiValidationsWallet}`; export type StateValidations = { [P in keyof State]: StateValidationKey | undefined; }; export type WindowHapiStateModuleState = { [K in keyof T]: T[K]; } & { state?: WindowHapiState; }; //# sourceMappingURL=state.types.d.ts.map