/// import { CompiledSelectionFlowModuleConfig, FlowModuleProps, SelectionDraftField, SelectionFlowContextValue, SelectionFlowDraft, SelectionFlowDraftUpdate, SelectionFlowModuleAdapter, SelectionFlowServices } from "./types.js"; import * as _$react from "react"; import * as _$_pisell_materials_src0 from "@pisell/materials/src"; //#region src/pro/skuDetailModal/flow/registry.d.ts /** * 第一期使用静态注册表,模块 key 同时作为 SelectionModuleType 的类型来源。 * 新类型只需实现适配器并在此增加一项,不提供运行时 register API。 */ declare const flowModuleRegistry: { readonly sku: SelectionFlowModuleAdapter; readonly date: SelectionFlowModuleAdapter; readonly multiDayDate: { type: "multiDayDate"; validateAutoResolution: undefined; provides: ("booking.startDate" | "booking.endDate" | "booking.duration")[]; initializeWhileInactive?: boolean | undefined; hardRequires?: readonly SelectionDraftField[] | undefined; refreshOn?: readonly SelectionDraftField[] | undefined; shouldRefresh?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => boolean) | undefined; isApplicable?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => boolean) | undefined; canInitialize?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => boolean | Promise) | undefined; refresh?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => void | Promise) | undefined; reconcile?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => void | Promise) | undefined; clearDependencies?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => void | Promise) | undefined; validate?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, handle: _$_pisell_materials_src0.FlowModuleHandle | null, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => _$_pisell_materials_src0.FlowModuleValidationReturn) | undefined; beforeLeave?: ((context: _$_pisell_materials_src0.SelectionFlowContextValue, handle: _$_pisell_materials_src0.FlowModuleHandle | null, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => _$_pisell_materials_src0.FlowModuleBeforeLeaveReturn) | undefined; Component: _$react.ComponentType>; rendersOwnError?: boolean | undefined; }; readonly time: SelectionFlowModuleAdapter; readonly bookingPrice: { type: string; Component: _$react.FC>; initializeWhileInactive: true; hardRequires: ("productData" | "booking.selectedCandidate")[]; refreshOn: ("productData" | "skuValue" | "quantity" | "booking.customerId" | "booking.duration" | "booking.selectedCandidate")[]; isApplicable: (context: _$_pisell_materials_src0.SelectionFlowContextValue) => boolean; canInitialize: (context: _$_pisell_materials_src0.SelectionFlowContextValue) => boolean; refresh: (context: SelectionFlowContextValue, module: CompiledSelectionFlowModuleConfig) => Promise; shouldRefresh: (_context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange) => boolean; clearDependencies: (context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig) => void; validate: (context: _$_pisell_materials_src0.SelectionFlowContextValue, handle: _$_pisell_materials_src0.FlowModuleHandle | null) => true | { valid: boolean; message?: string | undefined; } | Promise<_$_pisell_materials_src0.FlowModuleValidationResult>; validateAutoResolution: (context: SelectionFlowContextValue) => boolean; }; readonly capacity: { type: "capacity"; Component: _$react.FC>; provides: "booking.capacity"[]; hardRequires: "productData"[]; refreshOn: ("productData" | "skuValue" | "quantity")[]; isApplicable: (context: _$_pisell_materials_src0.SelectionFlowContextValue) => boolean; canInitialize: () => true; refresh: (context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig<"capacity">) => void; validate: (context: _$_pisell_materials_src0.SelectionFlowContextValue, handle: _$_pisell_materials_src0.FlowModuleHandle | null) => _$_pisell_materials_src0.FlowModuleValidationReturn; validateAutoResolution: (context: _$_pisell_materials_src0.SelectionFlowContextValue) => boolean; }; readonly resource: SelectionFlowModuleAdapter; readonly holder: SelectionFlowModuleAdapter; readonly price: { type: "price"; Component: _$react.FC>; provides: "priceOverride"[]; isApplicable: (context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig<"price">) => boolean; canInitialize: () => true; refreshOn: ("productData" | "skuValue" | "weighing" | "bookingPrice")[]; shouldRefresh: (_context: _$_pisell_materials_src0.SelectionFlowContextValue, change: _$_pisell_materials_src0.SelectionFlowDraftChange) => boolean; refresh: (context: _$_pisell_materials_src0.SelectionFlowContextValue, module: _$_pisell_materials_src0.CompiledSelectionFlowModuleConfig<"price">) => void; validate: (_context: _$_pisell_materials_src0.SelectionFlowContextValue, handle: _$_pisell_materials_src0.FlowModuleHandle | null) => _$_pisell_materials_src0.FlowModuleValidationReturn; }; readonly weighing: { readonly type: "weighing"; readonly Component: _$react.FC>; readonly provides: readonly ["weighing"]; readonly hardRequires: readonly ["productData"]; readonly refreshOn: readonly ["productData", "skuValue", "weighing"]; readonly isApplicable: (context: _$_pisell_materials_src0.SelectionFlowContextValue) => boolean; }; }; //#endregion export { flowModuleRegistry };