import { ColDef as LegacyColDef } from '@ag-grid-community/core'; import type { MessageError } from '@genesislcap/foundation-comms'; import { UiSchema } from '@genesislcap/foundation-forms'; import { ColDef } from 'ag-grid-community'; export type GridColDef = ColDef | LegacyColDef; export declare const RESOURCE_NAME: import("@microsoft/fast-foundation").InterfaceSymbol; export declare const ENTITY_NAME: import("@microsoft/fast-foundation").InterfaceSymbol; export type AdditionalEntry = string | UiSchema | { type: 'Control'; scope: string; label?: string; options?: { readonly?: boolean; hidden?: boolean; allOptionsResourceName?: string; valueField?: string; labelField?: string; }; }; export declare enum ActionsMenuStyle { Default = "default", ActionsVertical = "actions-vertical", ActionsHorizontal = "actions-horizontal" } export declare enum CrudMenuPosition { Column = "column", Top = "top", Bottom = "bottom", Action = "action", None = "none" } export declare enum CrudAction { Create = "create", Read = "read", Update = "update", Delete = "delete" } export declare enum ModalFormType { Create = "create", Read = "read", Update = "update" } export interface ConfirmSubmit { state: 'enabled' | 'disabled'; message: string; } export interface CustomActionError { errors: { message?: string; CODE: string; TEXT: string; }[]; } export interface RecordTypeValue { type: 'record'; mapping?: string; } export type DefaultValue = string | number | boolean | null | RecordTypeValue; export interface DefaultValues { [key: string]: DefaultValue; } export interface CustomAction { name: string; action: { type: 'event'; event: string; hasForm: boolean; defaultValues?: DefaultValues; uiSchema?: UiSchema; } | { type: 'callback'; callback: (rowData: any) => void; }; appearance?: string; position?: CrudMenuPosition; icon?: string; tooltip?: string; confirmSubmit?: ConfirmSubmit; requiresSelection?: boolean; setApprovalMessage?: boolean; /** * Optional callback function to determine if the button should be disabled. * Receives the selected entity (rowData) as a parameter. * If provided, this takes precedence over `requiresSelection`. * @param rowData - The currently selected row data, or null if no row is selected * @returns true if the button should be disabled, false otherwise */ disabled?: (rowData: any) => boolean; } export interface CustomActionState { name: string; event: string; rowData: any; } /** * Detail payload for the `custom-action` event, fired when a custom grid action button is * clicked in {@link @genesislcap/foundation-entity-management#List | entity-list}. * @public */ export interface CustomActionEventDetail { actionName: string; } /** * Detail payload for the `submit-failure` event, fired when an inline cell edit fails to commit. * @public */ export interface SubmitFailureEventDetail { payload: Record; errors: MessageError[]; } /** * Detail payload for the `submit-success` event, fired when an inline cell edit commits successfully. * @public */ export interface SubmitSuccessEventDetail { payload: Record; } //# sourceMappingURL=types.d.ts.map