import type { OperationButtonProps } from "../molecules/table/components/DefaultOperationButton.js"; import type { JSONRecord } from "./JSONRecord.js"; export type CellMetadata = Record; export type PermissionsResolver = ( data: Data, metadata: CellMetadata, operation: Operation ) => void; export interface Operation { /** * Action identifier */ action: string; title?: string; /** * Alias Operation */ alias?: string; path?: string; className?: string; buttonType?: string; buttonSize?: string; buttonOutline?: boolean; icon?: string; /** * Custom ActionButton */ OperationButton?: React.ComponentType; /** * Permission resolver to display ActionButton */ permissionsResolver?: PermissionsResolver; }