import { ActionTypeOptions, ReplaceActionType, ReplaceInitialActionType, ResetActionType, UpdateActionType, UpdateInitialActionType, } from '../internal/ActionTypes'; import type { CTAState, } from './CTAState'; import type { CTAHistory, } from './CTAHistory'; import type { Immutable, } from './Immutable'; export type CustomCTAHistory< Payload extends CTAState, > = CTAHistory & Immutable<{ replaceAction: ( payload: Payload, actionTypeOptions?: ActionTypeOptions ) => ReplaceActionType replaceInitialAction: ( payload: Payload, actionTypeOptions?: ActionTypeOptions ) => ReplaceInitialActionType resetAction: ( payload?: ( Payload | undefined ), actionTypeOptions?: ActionTypeOptions ) => ResetActionType updateAction: ( payload: Partial, actionTypeOptions?: ActionTypeOptions ) => UpdateActionType updateInitialAction: ( payload: Partial, actionTypeOptions?: ActionTypeOptions ) => UpdateInitialActionType }>;