import { ID } from '../../../commonStateTypes/common'; import { InvoicingCatalogItemLifecycleAction, InvoicingCatalogProductLifecycleAction } from '../../../entity/invoicing/invoicingCommonPayload'; import { ZeniAPIStatus } from '../../../responsePayload'; import { EditInvoicingCatalogItemDetailViewState, InvoicingCatalogItemFormLocalData, InvoicingCatalogItemKind } from './editInvoicingCatalogItemDetailViewState'; /** Push the full form draft into CES (edit tree when `id` is present). */ export interface UpdateInvoicingCatalogItemFormDraftPayload { localData: InvoicingCatalogItemFormLocalData; id?: ID; } /** Trigger create (no id) / update (with id) from the stored draft. */ export interface SubmitInvoicingCatalogItemFormPayload { id?: ID; } /** * Save the catalog detail page's inline edit. Carries no form data: the draft, * the saved price points and the item type all come off state in the epic, so * the page never has to hold or forward them. */ export interface SaveInvoicingCatalogItemPayload { kind: InvoicingCatalogItemKind; id?: ID; } /** * Open the catalog item detail page: the epic fans out to every request the * page renders from, skipping any already cached unless `cacheOverride` is set. */ export interface FetchInvoicingCatalogItemDetailPagePayload { kind: InvoicingCatalogItemKind; cacheOverride?: boolean; id?: ID; } /** Run a lifecycle action on the catalog item itself. */ export interface RunInvoicingCatalogPlanActionPayload { action: InvoicingCatalogItemLifecycleAction; id: ID; } /** * Run a lifecycle action on a product — an add-on, a one-time charge, or a * price point. `parentItemId` is set for a price point so the busy flag lands * on the item that owns it. */ export interface RunInvoicingCatalogProductActionPayload { action: InvoicingCatalogProductLifecycleAction; id: ID; parentItemId?: ID; } export declare const initialState: EditInvoicingCatalogItemDetailViewState; export declare const updateInvoicingCatalogItemFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload, fetchInvoicingCatalogItemDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ id: ID; kind: InvoicingCatalogItemKind; }, "editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetail">, fetchInvoicingCatalogItemDetailPage: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: FetchInvoicingCatalogItemDetailPagePayload], { cacheOverride: boolean; id: string | undefined; kind: "plan"; }, "editInvoicingCatalogItemDetailView/fetchInvoicingCatalogItemDetailPage", never, never>, updateInvoicingCatalogItemDetail: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ id: ID; kind: InvoicingCatalogItemKind; }, "editInvoicingCatalogItemDetailView/updateInvoicingCatalogItemDetail">, updateInvoicingCatalogItemDetailFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ error: ZeniAPIStatus; id: ID; }, "editInvoicingCatalogItemDetailView/updateInvoicingCatalogItemDetailFailure">, seedInvoicingCatalogItemFormDraft: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ id: ID; localData: InvoicingCatalogItemFormLocalData; }, "editInvoicingCatalogItemDetailView/seedInvoicingCatalogItemFormDraft">, runInvoicingCatalogPlanAction: import("@reduxjs/toolkit").ActionCreatorWithPayload, runInvoicingCatalogPlanActionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ id: ID; }, "editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionSuccess">, runInvoicingCatalogPlanActionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ error: ZeniAPIStatus; id: ID; }, "editInvoicingCatalogItemDetailView/runInvoicingCatalogPlanActionFailure">, runInvoicingCatalogProductAction: import("@reduxjs/toolkit").ActionCreatorWithPayload, runInvoicingCatalogProductActionSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ id: ID; }, "editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionSuccess">, runInvoicingCatalogProductActionFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ error: ZeniAPIStatus; id: ID; }, "editInvoicingCatalogItemDetailView/runInvoicingCatalogProductActionFailure">, submitInvoicingCatalogItemForm: import("@reduxjs/toolkit").ActionCreatorWithPreparedPayload<[payload: SubmitInvoicingCatalogItemFormPayload], SubmitInvoicingCatalogItemFormPayload, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemForm", never, never>, submitInvoicingCatalogItemFormSuccess: import("@reduxjs/toolkit").ActionCreatorWithPayload<{ itemId: ID; kind: InvoicingCatalogItemKind; }, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemFormSuccess">, submitInvoicingCatalogItemFormFailure: import("@reduxjs/toolkit").ActionCreatorWithPayload>, "editInvoicingCatalogItemDetailView/submitInvoicingCatalogItemFormFailure">, resetEditInvoicingCatalogItemDetailView: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"editInvoicingCatalogItemDetailView/resetEditInvoicingCatalogItemDetailView">; declare const _default: import("redux").Reducer; export default _default;