import { ArchiveFieldModalState, CustomFieldModalState, CustomFieldOrigin, DeleteFieldModalState, FieldsSource, ReportBI, WixPatternsContainer } from '@wix/bex-core'; import type { FieldActionsMenuConfig } from '../../components/FieldActions'; /** Builds the per-field action popover (edit / archive / delete …) for a field. */ export type FieldActionsMenuBuilder = (args: { fieldId: string; origin: CustomFieldOrigin; location: string; }) => FieldActionsMenuConfig | null; export interface CustomFieldsPanelStateParams { readonly reportBi: ReportBI; readonly closeSidePanel: () => unknown; readonly fieldsSource: FieldsSource; readonly container: WixPatternsContainer; /** * The source's per-field menu, as a factory over the panel it belongs to (its * handlers call back into this panel's modals). Built once in the constructor. */ readonly createFieldActionsMenu: (panel: CustomFieldsPanelState) => FieldActionsMenuBuilder; } export declare class CustomFieldsPanelState { readonly reportBi: ReportBI; readonly closeSidePanel: () => unknown; readonly fieldsSource: FieldsSource; readonly container: WixPatternsContainer; readonly customFieldModal: CustomFieldModalState; readonly archiveFieldModal?: ArchiveFieldModalState; readonly deleteFieldModal: DeleteFieldModalState; /** The per-field action popover. The source supplies it; CustomFieldItem reads it. */ readonly fieldActionsMenu: FieldActionsMenuBuilder; constructor(params: CustomFieldsPanelStateParams); get fieldManagement(): import("@wix/bex-core").FieldManagement | undefined; get manageableFields(): import("@wix/bex-core").Field[]; get archive(): import("@wix/bex-core").FieldArchive | undefined; openCustomFieldModal(params: { fieldId?: string; origin: CustomFieldOrigin; customOrigin?: string; }): void; } //# sourceMappingURL=CustomFieldsPanelState.d.ts.map