import { Auth } from '@genesislcap/foundation-comms'; import { AvailableOption } from '@genesislcap/foundation-ui'; import type { CellContextMenuEvent } from 'ag-grid-community'; import { CellEditRequestEvent } from '@ag-grid-community/core'; import { ColDef } from 'ag-grid-community'; import { ColDef as ColDef_2 } from '@ag-grid-community/core'; import { Connect } from '@genesislcap/foundation-comms'; import { Constructable } from '@genesislcap/web-core'; import { Container } from '@genesislcap/web-core'; import { Controller } from '@microsoft/fast-element'; import { DatasourceOptions } from '@genesislcap/foundation-comms'; import { DatasourceType } from '@genesislcap/grid-pro'; import { DOMContainer } from '@genesislcap/foundation-utils'; import { FoundationLayoutContainer } from '@genesislcap/foundation-utils'; import { FoundationRouterConfiguration } from '@genesislcap/foundation-ui'; import { GenesisElement } from '@genesislcap/web-core'; import type { GridOptionsConfig } from '@genesislcap/grid-pro'; import { GridProCaseType } from '@genesislcap/grid-pro'; import { GridProGenesisDatasource } from '@genesislcap/foundation-zero-grid-pro'; import { GridProStatusBarConfig } from '@genesislcap/grid-pro'; import { InterfaceSymbol } from '@microsoft/fast-foundation'; import { LayoutCacheContainer } from '@genesislcap/foundation-utils'; import { Logger } from '@genesislcap/foundation-logger'; import { MessageError } from '@genesislcap/foundation-comms'; import type { MetadataDetail } from '@genesislcap/foundation-comms'; import { Modal } from '@genesislcap/foundation-ui'; import { NotificationStructure } from '@genesislcap/foundation-notifications'; import { PartialFASTElementDefinition } from '@microsoft/fast-element'; import { RendererEntry } from '@genesislcap/foundation-forms'; import type { RowClickedEvent } from 'ag-grid-community'; import type { RowDoubleClickedEvent } from 'ag-grid-community'; import type { RowSelectedEvent } from 'ag-grid-community'; import { SelectedOption } from '@genesislcap/foundation-ui'; import type { SelectionChangedEvent } from 'ag-grid-community'; import { Session } from '@genesislcap/foundation-comms'; import { UiSchema } from '@genesislcap/foundation-forms'; import { UiSchemaElement } from '@genesislcap/foundation-forms'; import { UiSchemaElementType } from '@genesislcap/foundation-forms'; import { UiSchemaOptions } from '@genesislcap/foundation-forms'; import { ViewTemplate } from '@microsoft/fast-element'; import { ViewTemplate as ViewTemplate_2 } from '@genesislcap/web-core'; import { ZeroGridPro } from '@genesislcap/foundation-zero-grid-pro'; export declare enum ActionsMenuStyle { Default = "default", ActionsVertical = "actions-vertical", ActionsHorizontal = "actions-horizontal" } export declare type AdditionalEntry = string | UiSchema | { type: 'Control'; scope: string; label?: string; options?: { readonly?: boolean; hidden?: boolean; allOptionsResourceName?: string; valueField?: string; labelField?: string; }; }; /** * @public */ export declare const buttonCellRenderer: (title: any, clickHandler: any, contentTemplate: any, tooltip?: string) => ColDef_2; export declare interface ConfirmSubmit { state: 'enabled' | 'disabled'; message: string; } export declare enum CrudAction { Create = "create", Read = "read", Update = "update", Delete = "delete" } export declare enum CrudMenuPosition { Column = "column", Top = "top", Bottom = "bottom", Action = "action", None = "none" } export declare 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 declare interface CustomActionError { errors: { message?: string; CODE: string; TEXT: string; }[]; } /** * 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 declare interface CustomActionEventDetail { actionName: string; } export declare interface CustomActionState { name: string; event: string; rowData: any; } /** * The attribute which is set to configure the resource that the entity manager is working with * * Because this type is `Omit`, you can configure * query behavior (filtering, sort, limits, polling, request payloads), while * `resourceName` remains configured directly on `entity-management`. * * Supported properties: * - `criteria`: filter expression applied to the datasource * - `disablePolling`: disables polling for request/reply resources * - `fields`: comma-separated fields to return (DATASERVER resources) * - `isSnapshot`: treat datasource as a snapshot instead of streaming updates * - `maxRows`: max rows returned * - `maxView`: max rows tracked in the client-side view * - `movingView`: controls behavior when real-time rows arrive * - `offset`: starting row offset * - `pollingInterval`: polling interval in milliseconds * - `pollTriggerEvents`: event names that trigger an extra poll * - `request`: payload sent to request/reply resources * - `requestAutoSetup`: auto-generates request shape from metadata * - `viewNumber`: current page/view number * - `orderBy`: field used for sorting * - `reverse`: reverse sort order * * @public * * @example * ```javascript * type DatasourceConfiguration = { * criteria?: string; * disablePolling?: boolean; * fields?: string; * isSnapshot?: boolean; * maxRows?: number; * maxView?: number; * movingView?: boolean; * offset?: number; * pollingInterval?: number; * pollTriggerEvents?: string[]; * request?: any; * requestAutoSetup?: boolean; * viewNumber?: number; * orderBy?: string; * reverse?: boolean; * } * ``` * * @example * ```typescript * ({ * criteria: 'STATUS == "OPEN"', * orderBy: 'LAST_UPDATED', * reverse: true, * maxRows: 200, * })} * > * ``` * * @example * ```typescript * ({ * request: { * PROFILE_NAME: 'ADMIN', * RIGHT_CODE: '*', * }, * requestAutoSetup: true, * disablePolling: true, * })} * > * ``` * * @example * ```typescript * ({ * pollingInterval: 10000, * pollTriggerEvents: [ * 'EVENT_COUNTERPARTY_INSERT', * 'EVENT_COUNTERPARTY_MODIFY', * 'EVENT_COUNTERPARTY_DELETE', * 'EVENT_REFERENCE_DATA_REFRESHED', * ], * })} * > * ``` */ export declare type DatasourceConfiguration = Omit; export declare type DefaultValue = string | number | boolean | null | RecordTypeValue; export declare interface DefaultValues { [key: string]: DefaultValue; } /** * @internal */ export declare const DynamicTemplate: ViewTemplate_2; export declare const ENTITY_NAME: InterfaceSymbol; /** * Main class which defines the entity management functionality * * @remarks * * Connects to a backend resource and wraps up a grid which is populated * with entities from that resource. The different interactions that the user * can perform with the entities can be configured, examples being able to * update and delete entities. * * @public * * @example * Example of using the entity management system to handle counterparties * ``` * * ``` * Where:
* - the title of the grid is `Counterparty Management`
* - the name of the resource in the database to manage is `ALL_COUNTERPARTYS`
* - the name of the event handler for update events is `EVENT_COUNTERPARTY_MODIFY`
* - the name of the event handler for create events is `EVENT_COUNTERPARTY_INSERT`
* - the name of the event handler for delete events is `EVENT_COUNTERPARTY_DELETE`
* * @fires request-changed - Fired when the request is changed. detail: `Record | null` * @fires criteria-changed - Fired when the criteria is changed. detail: `string | null` * @fires create-entity - Fired when an entity is created * @fires edit-entity - Fired when an entity is edited * @fires delete-entity - Fired when an entity is deleted * * Bubbled events from the child entity-list component * @fires submit-failure - Fired when there is an error in a create, edit or delete operation. detail: `SubmitFailureEventDetail` * @fires submit-success - Fired when a create, edit or delete operation is completed successfully. detail: `SubmitSuccessEventDetail` * @fires rowClick - Fired when a row is clicked. detail: `Record | undefined` * @fires rowDblClick - Fired when a row is double clicked. detail: `Record | undefined` * @fires contextMenu - Fired when a row is right clicked. detail: `Record | undefined` * @fires rowSelected - Fired when a row is selected. detail: `RowSelectedEvent` * @fires selectionChanged - Fired when grid selection changes (bubbled from entity-list). detail: `SelectionChangedEvent` */ export declare class EntityManagement extends EntityManagement_base { /** * DI connect object which is used to interact with the backend. * * @remarks * * Requires {@link @genesislcap/foundation-comms#Connect | the connect class} to be registered with the * DI container * @internal */ protected connect: Connect; /** * Name of the design system prefix that will be used in renderers. * @public */ prefix: string; /** * Name of the backend resource which contain the entities to manage * @public */ resourceName: string; /** * Name of the request on the Genesis server which fetches data for the form, example usage could * include fetching additional data that is not available in the grid but required for the selected entity * @public */ readEvent: string; /** * Similar to readEvent but allows to provide function that will be executed before * opening the form and yields data to the form * @param entity - selected entity from the grid * @returns object with data which will be used to prefill the form similarly to `defaultEntityValues` * @public */ readEventFn: (entity: any) => any; /** * @internal */ readonly: boolean; /** * Name of the event handler on the Genesis server which handles updating the entity * @public */ updateEvent: string; /** * Name of the event handler on the Genesis server which handles deleting the entity * @public */ deleteEvent: string; /** * Name of the event handler on the Genesis server which handles creating an entity * @public */ createEvent: string; /** * Notification config used for submit failures. Defaults to an error snackbar but can be * overridden while keeping title/body unchanged. * @public */ errorNotificationConfig: NotificationStructure['config']; /** * Overrides the success notification title shown after a successful form submission. * When not set, the default "{label} Added / Updated / Deleted" title is used. * @public */ successNotificationTitle: string; /** * Overrides the success notification body shown after a successful form submission. * When not set, the default "The {label} was successfully added/updated/deleted" body is used. * @public */ successNotificationBody: string; /** * Title of the grid * @public */ title: string; /** * Label for the entity which is used in the title of the modal when editing the entity, on CRUD buttons and on toast notifications * @public */ entityLabel: string; /** * Custom label for the create button and modal title. When set, overrides the default "Add {entityLabel}" text. * @example `create-label="Reject Price"` renders a "Reject Price" button instead of "+ Add" * @public */ createLabel: string; /** * Whether to use the `applyTransactionAsync` function for *add* transactions * @remarks Defaults to false * @internal */ asyncAdd: boolean; /** * Whether to use the `applyTransactionAsync` function for *remove* transactions * @remarks Defaults to false * @internal */ asyncRemove: boolean; /** * Whether to use the `applyTransactionAsync` function for *update* transactions * @remarks Defaults to true * @internal */ asyncUpdate: boolean; /** * This attribute allows you to change row-selection to 'single' or 'multiple' which will allow you to select single or multiple rows. * @remarks Defaults to single * @public */ rowSelection: string; /** * If false, will disable cell flashing for all cells by default, unless otherwise defined in custom colDef * @remarks Defaults to true * @public */ enableCellFlashing: boolean; /** * If true, will enable row flashing for all rows for `add` transactions * @public */ enableRowFlashing: boolean; /** * If set to 'server' it will enable Server-Side Row Model and use `grid-pro-server-side-datasource` for the grid of the `entity-list` sub-component. * By default `grid-pro-client-side-datasource` will be used. * @public */ datasourceType: DatasourceType; /** * This attribute controls whether and how the entity manager stores the state of the columns when the user edits them. Omit this attribute to disable the functionality, set it to a unique value to enable it. * * @remarks * * Setting this value will set the entity manager to persist the column states through page refreshes etc. An example of what is stored is when the user resizes or reorders columns. * This value must be unique for each table in your app otherwise the persisted data will be corrupted. * There is an option on the grid for the user to reset the table to the default layout if they wish. * If you omit this attribute then nothing is persisted * @public */ persistColumnStateKey: string; /** * The key to use for persisting the filter model in local browser or KV storage. * * @remarks * * Default behaviour when unset is to not save the filter config. * This value must be unique for each table in your app otherwise the persisted data will be corrupted. * @public */ persistFilterModelKey: string; /** * GridOptions to be passed down from application * @public */ gridOptions: GridOptionsConfig; /** * Configuration for the grid status bar components. * @remarks * This requires AG Grid Enterprise module to be enabled. * The status bar will only be displayed if the Enterprise module is available. * @see https://www.ag-grid.com/javascript-data-grid/component-status-bar/ * @public */ statusBarConfig: GridProStatusBarConfig; /** * Array which holds the column definitions. * @public */ columns: GridColDef[]; /** @internal */ _datasourceConfig: DatasourceConfiguration; /** * @internal */ formUiSchema: UiSchema; /** * Enables you to supply a schema to configure an insert form. * @public */ createFormUiSchema: UiSchema; /** * Enables you to supply a schema to configure an update form. * @public */ updateFormUiSchema: UiSchema; /** * The name of the resource in the backend to interact with when dispatching actions from the update/create modal * @internal */ formResourceName: string; /** * Array with renderers used by foundation-forms * @public */ formRenderers: RendererEntry[]; /** * Additional renderer entries to append to the form renderer registry. * Use this to supply custom UI schema renderers without replacing defaults. * @public */ additionalFormRenderers: RendererEntry[]; /** * Array of custom actions that can be added to the entity management component * @public */ customActions: CustomAction[]; /** * Reference to the currently active custom action when a form is being displayed * @internal */ activeCustomAction: CustomActionState | null; /** * Form data for the currently active custom action * @internal */ customActionFormData: Record; /** * Optional confirmation message to display before form submission. * If set, a confirmation dialog will be shown when the user clicks submit. * @public */ confirmationMessage: string; /** * When enabled, adds an APPROVAL_MESSAGE field to the form schema. * This field will be sent at root level alongside DETAILS when submitting. * Can be overridden per custom action via the action's setApprovalMessage property. * @public */ setApprovalMessage: boolean; /** * Label for the approval message field in the approval dialog. * @public */ approvalMessageLabel: string; /** * Reference to the currently selected entity from the grid. * * @remarks * * When the user attempts to initiate functionality such as deleting or editing an entity, the entity which will be deleted/edited is the one which is referenced by this variable * @internal */ selectedEntity: Record; /** * Disables the form while enabled to stop the user dispatching a large number of duplicate events * @internal */ editedEntity: Record; /** * The default values to populate the form with when the user is adding an entity * @public */ defaultEntityValues: Record; /** * @internal */ submitting: boolean; /** * @internal */ entityListRef: List; /** * The type of form that is currently being displayed in the modal * @internal */ modalFormType: ModalFormType; /** * @internal */ editModalVisible: boolean; private editModalVisibleChanged; /** * @internal */ editEntityModal: Modal; /** * Resizes columns to take available space * @public */ sizeColumnsToFit: boolean; /** * Auto-sizes a column based on its contents * @public */ sizeColumnsToContent: boolean; /** * Controls automatic column sizing on interaction. Disables manual column widths and local storage persistence of widths. * @public */ gridAutosizing: boolean; /** * Enables filter bar component * @public */ enableFilterBar: boolean; /** * Hides edit button * @public */ hideEdit: boolean; /** * Hides delete button * @public */ hideDelete: boolean; /** * This attribute controls whether to enable the search-bar. * @public */ enableSearchBar: boolean; /** * Enables AI criteria search component. When true, fetches field metadata from resourceName and renders the AI search bar. * @public */ enableAiCriteriaSearch: boolean; /** * Field metadata for AI criteria search, populated from resource metadata when enableAiCriteriaSearch is true. * @internal */ aiCriteriaSearchFieldMetadata: MetadataDetail[]; /** * The case type to use for the header names. If not set, the default CONSTANT_CASE will be used. * @remarks Can be one of the following: camelCase, capitalCase, dotCase, headerCase, noCase, paramCase, pascalCase, pathCase, sentenceCase, snakeCase. * @public */ headerCaseType: GridProCaseType; /** * Allows configuration of the search bar component, if not provided it would build configuration based on columns in the grid * * @public */ searchBarConfig: AvailableOption[]; /** * Allows configuration of the search bar component, if not provided it would build configuration based on columns in the grid * * @internal */ gridVisible: boolean; /** * Enables foundation-filters with flyout UI * @public */ enableFilters: boolean; /** * UI schema configuration for the filters component * @public */ filtersUiSchema: UiSchema; /** * Controls visibility of filter save/load UI in foundation-filters * @remarks Defaults to true * @public */ showFilterPersistenceControls: boolean; /** * Tracks whether the filters modal is currently visible * @internal */ filtersModalVisible: boolean; private filtersModalVisibleChanged; /** * @internal */ filtersModal: Modal; /** * Stores the current filter criteria from foundation-filters * @internal */ filtersCriteria: string; /** * Stores the current search bar criteria * @internal */ private searchBarCriteria; /** * Stores the current AI criteria search criteria (from slot="criteria-search") * @internal */ private aiCriteriaSearchCriteria; /** * Determines where the modal dialog will appear on screen * @public */ modalPosition: 'centre' | 'left' | 'right'; /** * Determines where the filters modal will appear on screen * @public */ filtersModalPosition: 'centre' | 'left' | 'right'; /** * Determines where the buttons will appear * @public */ crudMenuPosition: CrudMenuPosition; /** * Determines the style of the buttons * @public */ crudMenuStyle: ActionsMenuStyle; /** * The label of the crud action menu */ crudActionMenuName: string; /** * Enabling this option will enable a download button in the top-right of the header which will export the data to a csv file when clicked. * * @remarks * The default button is `Export` and the filename `export.csv`. * You can optionally configure these values via this property to override them * @example * Enabling the feature and using the default configuration * ```ts * * * ``` * * @example * Enabling the feature and overriding the default values * ```ts * * * ``` */ enableCsvExport: { buttonName?: string; fileName?: string; } | null; /** * The Id of the crud buttons wrapper element * @internal */ crudMenuWrapper: any; /** * The helper function to determine the title of the modal form or button based on the action or type * @param actionOrType - The crud action or modal form type * @internal */ getTitleBasedOnActionOrType(actionOrType: CrudAction | ModalFormType): string; /** * Getter for the title of the filters modal * @internal */ get filtersModalTitle(): string; /** * Getter for the title of the modal form * @internal */ get modalFormTitle(): string; /** * Determines whether the button edit should be hidden in the column * @internal */ get shouldHideEditInColumn(): boolean; /** * Determines whether the button delete should be hidden in the column * @internal */ get shouldHideDeleteInColumn(): boolean; /** * Determines whether there is a selected entity * @internal */ get hasSelectedEntity(): boolean; /** * Checks if a slot contains any content. * * @param slotName - The name of the slot to check. * @returns True if the slot has content, otherwise false. * @internal */ hasContentInSlot(slotName: string): boolean; /** * Execute custom action * @internal */ private executeCustomAction; /** * Show custom action confirmation * @internal */ private showCustomActionConfirmation; /** * Handle custom action click events * @param actionName - The name of the custom action * @param rowData - The row data from the grid * @internal */ handleCustomActionClick(actionName: string): Promise; /** * Get the currently active custom action * @internal */ getActiveCustomAction(): CustomAction | null; /** * Get the current form resource name * @internal */ get currentFormResourceName(): string; /** * Get the current form UI schema * @internal */ get currentFormUiSchema(): UiSchema | null; /** * Get the current form data * @internal */ get currentFormData(): Record; /** * Get the current confirmation message * @internal */ get currentConfirmationMessage(): string; /** * Get the current setApprovalMessage setting * @internal */ get currentSetApprovalMessage(): boolean; /** * Determine if a custom action button should be disabled * @param customAction - The custom action to check * @param rowData - The currently selected row data (optional) * @returns true if the button should be disabled, false otherwise * @internal */ isCustomActionDisabled(customAction: CustomAction, rowData?: any): boolean; /** * Show the custom action modal * @internal */ private showCustomActionModal; /** * Get custom actions filtered by position * @param position - The position to filter by * @internal */ getCustomActionsByPosition(position: CrudMenuPosition): CustomAction[]; /** * Handle custom action events from the grid * @param e - CustomEvent containing the action name and row data * @internal */ private handleCustomActionEvent; /** * Add a property to store the base criteria, so it can be recalled when setting the * criteria from the search bar. * @internal */ private baseCriteria; /** * Flag which can be used to control when to cache the base criteria when the datasourceConfig changes * (we don't want to cache in the case we've set a criteria via the search bar) */ private setBaseCriteria; set datasourceConfig(config: DatasourceConfiguration); /** * Get the configuration which is used when interacting with the resource on the backend * * @remarks * * Handles the configuration such as how many rows of entities to fetch at a time * @public */ get datasourceConfig(): DatasourceConfiguration; /** * Usually when the datasource config is updated we need to cache the criteria * so it can be combined with the searchbar, but this function allows you to set * the datasource config without doing that (so we don't cache the search bar * criteria) */ setDSConfigWithoutUpdatingBaseCriteria(config: DatasourceConfiguration): void; /** * Set up the web component * @internal */ connectedCallback(): Promise; /** * @internal */ disconnectedCallback(): Promise; /** * Loads metadata from resource and populates searchBarConfig and/or aiCriteriaSearchFieldMetadata. * @internal */ private loadMetadata; /** * Override the deepClone method to ensure that observable attributes are cloned * @internal */ deepClone(): Node; /** * Unified event handler for when the user submits any form (CRUD or custom action) * * @internal */ submitEntityChanges(): Promise; /** * Updates the reference to the current entity stored in the class. Added as an event listener on the class when receiving the `rowSelected` event. * * @param e - CustomEvent which contains data about the selected entity. If the row is not selected then the reference will be set to an empty object. * @internal */ private selectEntity; /** * Show the entity create form * Sets the initial value on the form to be defaultEntityValues if present. * @internal */ createEntity(): void; /** * Opens the model to edit an entity. Added as an event listener on the class when receiving the `edit-entity` event. * * @param e - CustomEvent where `e.detail` is the entity to edit. * @internal */ editEntity({ detail }: CustomEvent): Promise; private readEntity; /** * @internal */ closeModal(): void; /** * @internal */ closeFiltersModal(): void; /** * @internal */ get headerTemplate(): ViewTemplate; /** * @internal */ get isServerSideDatasource(): boolean; /** * @internal */ searchChanged(event: CustomEvent>): void; private searchBarReqServer; private searchBarDataserver; private requestChanged; private filtersCriteriaChanged; private criteriaChanged; private updateCombinedCriteria; private submitFailureNotification; private submitErrorHandler; /** * Handler for deleting the entity. Added as an event listener on the class when receiving the `delete-entity` event. * * @param e - CustomEvent where `e.detail` contains data to update the selectedEntity reference with the entity to delete. * @internal */ deleteEntity(e: CustomEvent): Promise; /** * @internal */ confirmDelete(): Promise; private showDeleteConfirmation; /** * Emit the CRUD event for the selected entity * @param action - the action to emit * @internal */ emitCrud(action: 'create' | 'edit' | 'delete'): void; /** * Show notifications after CRUD operations (success or failure). * @param type - ModalFormType, CrudAction.Delete, or a custom action name (string). * @internal */ handleNotify(type: ModalFormType | CrudAction.Delete | string, requestError?: MessageError[]): void; /** * Clear the selected entity * @internal */ private clearSelectedEntity; /** * Helper to generate the CRUD actions menu * * @internal */ private generateCrudActionsMenu; /** * The event handler for when the selection changes in the grid. * @internal */ selectionChanged(event: CustomEvent): void; /** * Deletes the saved column state for the grid * @param resetToDefault - Whether to reset columns to their default configuration. Defaults to true. * @public */ deleteColumnState(resetToDefault?: boolean): Promise; /** * Ensure any confirmation dialog anchored to the modal boundary is closed/removed * @privateRemarks * Due to shadow roots the easiest way to find the reference is via query selector. */ private cleanupConfirmationDialog; /** @internal */ downloadCsvData(): Promise; } declare const EntityManagement_base: (new (...args: any[]) => { #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer; #_latestTokenCode: string; #_hasFirstLoaded: boolean; #_cleanupTimeout: NodeJS.Timeout; #_shouldForceLifecycle: boolean; #_blockedDisconnectSurvivedGracePeriod: boolean; cloneNode(deep?: boolean): Node; deepClone(): Node; get shouldRunDisconnect(): boolean; get shouldRunConnect(): boolean; #_blockLifecycleDueToTokenChange(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean; #_tryFindContainingLayout(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer; connectedCallback(): void; readonly $fastController: Controller; $emit(type: string, detail?: any, options?: Omit): boolean | void; disconnectedCallback(): void; attributeChangedCallback(name: string, oldValue: string, newValue: string): void; accessKey: string; readonly accessKeyLabel: string; autocapitalize: string; autocorrect: boolean; dir: string; draggable: boolean; hidden: boolean; inert: boolean; innerText: string; lang: string; readonly offsetHeight: number; readonly offsetLeft: number; readonly offsetParent: Element | null; readonly offsetTop: number; readonly offsetWidth: number; outerText: string; popover: string | null; spellcheck: boolean; title: string; translate: boolean; writingSuggestions: string; attachInternals(): ElementInternals; click(): void; hidePopover(): void; showPopover(): void; togglePopover(options?: boolean): boolean; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; readonly attributes: NamedNodeMap; get classList(): DOMTokenList; set classList(value: string): any; className: string; readonly clientHeight: number; readonly clientLeft: number; readonly clientTop: number; readonly clientWidth: number; readonly currentCSSZoom: number; id: string; innerHTML: string; readonly localName: string; readonly namespaceURI: string | null; onfullscreenchange: (this: Element, ev: Event) => any; onfullscreenerror: (this: Element, ev: Event) => any; outerHTML: string; readonly ownerDocument: Document; get part(): DOMTokenList; set part(value: string): any; readonly prefix: string | null; readonly scrollHeight: number; scrollLeft: number; scrollTop: number; readonly scrollWidth: number; readonly shadowRoot: ShadowRoot | null; slot: string; readonly tagName: string; attachShadow(init: ShadowRootInit): ShadowRoot; checkVisibility(options?: CheckVisibilityOptions): boolean; closest(selector: K): HTMLElementTagNameMap[K]; closest(selector: K): SVGElementTagNameMap[K]; closest(selector: K): MathMLElementTagNameMap[K]; closest(selectors: string): E; computedStyleMap(): StylePropertyMapReadOnly; getAttribute(qualifiedName: string): string | null; getAttributeNS(namespace: string | null, localName: string): string | null; getAttributeNames(): string[]; getAttributeNode(qualifiedName: string): Attr | null; getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; getBoundingClientRect(): DOMRect; getClientRects(): DOMRectList; getElementsByClassName(classNames: string): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf; getHTML(options?: GetHTMLOptions): string; hasAttribute(qualifiedName: string): boolean; hasAttributeNS(namespace: string | null, localName: string): boolean; hasAttributes(): boolean; hasPointerCapture(pointerId: number): boolean; insertAdjacentElement(where: InsertPosition, element: Element): Element | null; insertAdjacentHTML(position: InsertPosition, string: string): void; insertAdjacentText(where: InsertPosition, data: string): void; matches(selectors: string): boolean; releasePointerCapture(pointerId: number): void; removeAttribute(qualifiedName: string): void; removeAttributeNS(namespace: string | null, localName: string): void; removeAttributeNode(attr: Attr): Attr; requestFullscreen(options?: FullscreenOptions): Promise; requestPointerLock(options?: PointerLockOptions): Promise; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; scrollTo(options?: ScrollToOptions): void; scrollTo(x: number, y: number): void; setAttribute(qualifiedName: string, value: string): void; setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; setAttributeNode(attr: Attr): Attr | null; setAttributeNodeNS(attr: Attr): Attr | null; setHTMLUnsafe(html: string): void; setPointerCapture(pointerId: number): void; toggleAttribute(qualifiedName: string, force?: boolean): boolean; webkitMatchesSelector(selectors: string): boolean; textContent: string; readonly baseURI: string; readonly childNodes: NodeListOf; readonly firstChild: ChildNode | null; readonly isConnected: boolean; readonly lastChild: ChildNode | null; readonly nextSibling: ChildNode | null; readonly nodeName: string; readonly nodeType: number; nodeValue: string | null; readonly parentElement: HTMLElement | null; readonly parentNode: ParentNode | null; readonly previousSibling: ChildNode | null; appendChild(node: T_1): T_1; compareDocumentPosition(other: Node): number; contains(other: Node | null): boolean; getRootNode(options?: GetRootNodeOptions): Node; hasChildNodes(): boolean; insertBefore(node: T_1, child: Node | null): T_1; isDefaultNamespace(namespace: string | null): boolean; isEqualNode(otherNode: Node | null): boolean; isSameNode(otherNode: Node | null): boolean; lookupNamespaceURI(prefix: string | null): string | null; lookupPrefix(namespace: string | null): string | null; normalize(): void; removeChild(child: T_1): T_1; replaceChild(node: Node, child: T_1): T_1; readonly ELEMENT_NODE: 1; readonly ATTRIBUTE_NODE: 2; readonly TEXT_NODE: 3; readonly CDATA_SECTION_NODE: 4; readonly ENTITY_REFERENCE_NODE: 5; readonly ENTITY_NODE: 6; readonly PROCESSING_INSTRUCTION_NODE: 7; readonly COMMENT_NODE: 8; readonly DOCUMENT_NODE: 9; readonly DOCUMENT_TYPE_NODE: 10; readonly DOCUMENT_FRAGMENT_NODE: 11; readonly NOTATION_NODE: 12; readonly DOCUMENT_POSITION_DISCONNECTED: 1; readonly DOCUMENT_POSITION_PRECEDING: 2; readonly DOCUMENT_POSITION_FOLLOWING: 4; readonly DOCUMENT_POSITION_CONTAINS: 8; readonly DOCUMENT_POSITION_CONTAINED_BY: 16; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32; dispatchEvent(event: Event): boolean; ariaActiveDescendantElement: Element | null; ariaAtomic: string | null; ariaAutoComplete: string | null; ariaBrailleLabel: string | null; ariaBrailleRoleDescription: string | null; ariaBusy: string | null; ariaChecked: string | null; ariaColCount: string | null; ariaColIndex: string | null; ariaColIndexText: string | null; ariaColSpan: string | null; ariaControlsElements: ReadonlyArray | null; ariaCurrent: string | null; ariaDescribedByElements: ReadonlyArray | null; ariaDescription: string | null; ariaDetailsElements: ReadonlyArray | null; ariaDisabled: string | null; ariaErrorMessageElements: ReadonlyArray | null; ariaExpanded: string | null; ariaFlowToElements: ReadonlyArray | null; ariaHasPopup: string | null; ariaHidden: string | null; ariaInvalid: string | null; ariaKeyShortcuts: string | null; ariaLabel: string | null; ariaLabelledByElements: ReadonlyArray | null; ariaLevel: string | null; ariaLive: string | null; ariaModal: string | null; ariaMultiLine: string | null; ariaMultiSelectable: string | null; ariaOrientation: string | null; ariaOwnsElements: ReadonlyArray | null; ariaPlaceholder: string | null; ariaPosInSet: string | null; ariaPressed: string | null; ariaReadOnly: string | null; ariaRelevant: string | null; ariaRequired: string | null; ariaRoleDescription: string | null; ariaRowCount: string | null; ariaRowIndex: string | null; ariaRowIndexText: string | null; ariaRowSpan: string | null; ariaSelected: string | null; ariaSetSize: string | null; ariaSort: string | null; ariaValueMax: string | null; ariaValueMin: string | null; ariaValueNow: string | null; ariaValueText: string | null; role: string | null; animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; getAnimations(options?: GetAnimationsOptions): Animation[]; after(...nodes: (Node | string)[]): void; before(...nodes: (Node | string)[]): void; remove(): void; replaceWith(...nodes: (Node | string)[]): void; readonly nextElementSibling: Element | null; readonly previousElementSibling: Element | null; readonly childElementCount: number; readonly children: HTMLCollection; readonly firstElementChild: Element | null; readonly lastElementChild: Element | null; append(...nodes: (Node | string)[]): void; prepend(...nodes: (Node | string)[]): void; querySelector(selectors: K): HTMLElementTagNameMap[K] | null; querySelector(selectors: K): SVGElementTagNameMap[K] | null; querySelector(selectors: K): MathMLElementTagNameMap[K] | null; querySelector(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; querySelector(selectors: string): E | null; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: string): NodeListOf; replaceChildren(...nodes: (Node | string)[]): void; readonly assignedSlot: HTMLSlotElement | null; readonly attributeStyleMap: StylePropertyMap; get style(): CSSStyleDeclaration; set style(cssText: string): any; contentEditable: string; enterKeyHint: string; inputMode: string; readonly isContentEditable: boolean; onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null; onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null; onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null; onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; onerror: OnErrorEventHandler; onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null; ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null; onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null; onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null; ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; autofocus: boolean; readonly dataset: DOMStringMap; nonce?: string; tabIndex: number; blur(): void; focus(options?: FocusOptions): void; }) & (new () => HTMLElement & GenesisElement) & { from(BaseType: TBase): new () => InstanceType & GenesisElement; define(type: TType, nameOrDef?: string | PartialFASTElementDefinition | undefined): TType; }; /** * Returns the title and body for a notification based on the action type and entity label. * @param type - The type of action performed (Create, Update, Delete, etc.) * @param label - The label of the entity being managed. * @returns An object containing the notification title and body. */ export declare const getActionNotificationTitleAndBody: (type: ModalFormType | CrudAction.Delete | string, label: string) => { title: string; body: string; }; /** * Format the error as a string with a different format depending on whether * `err` has a `FIELD` property or not * @public */ export declare const getErrorFormat: (err: any) => string; export declare type GridColDef = ColDef | ColDef_2; /** * Entity list grid with CRUD and selection events. * @public * * @fires submit-failure - Fired when an inline update submit fails. detail: `SubmitFailureEventDetail` * @fires submit-success - Fired when an inline update succeeds. detail: `SubmitSuccessEventDetail` * @fires rowClick - Fired when a row is clicked. detail: `Record | undefined` * @fires rowDblClick - Fired when a row is double-clicked. detail: `Record | undefined` * @fires contextMenu - Fired when a row context menu is opened. detail: `Record | undefined` * @fires rowSelected - Fired when row selection changes (single). detail: `RowSelectedEvent` * @fires selectionChanged - Fired when grid selection changes. detail: `SelectionChangedEvent` * @fires edit-entity - Fired when edit is requested * @fires delete-entity - Fired when delete is requested * @fires custom-action - Fired when a custom grid action runs. detail: `CustomActionEventDetail` */ export declare class List extends List_base { /** * Name of the design system prefix that will be used in renderers. * @public */ prefix: string; resourceName: string; title: string; persistColumnStateKey: string; persistFilterModelKey: string; /** * Resizes columns to take available space * @public */ sizeColumnsToFit: boolean; /** * Auto-sizes a column based on its contents * @public */ sizeColumnsToContent: boolean; /** * Controls automatic column sizing on interaction. Disables manual column widths and local storage persistence of widths. * @public */ gridAutosizing: boolean; rowSelection: string; enableFilterBar: boolean; asyncAdd: boolean; asyncRemove: boolean; asyncUpdate: boolean; enableCellFlashing: boolean; enableRowFlashing: boolean; hideEdit: boolean; hideDelete: boolean; datasourceType: DatasourceType; headerCaseType: GridProCaseType; grid: ZeroGridPro; datasource: GridProGenesisDatasource; gridOptions: GridOptionsConfig; columns: GridColDef[]; datasourceConfig: DatasourceConfiguration; actionButtonsConfig: any[]; createEvent: string; updateEvent: string; deleteEvent: string; statusBarConfig: GridProStatusBarConfig; customActions: CustomAction[]; protected connect: Connect; get isServerSideDatasource(): boolean; connectedCallback(): void; handleCellEditRequest(event: CustomEvent): Promise; /** * Shared markup for CRUD / custom action column icons (grid cell renderers). */ private actionColumnIcon; /** * Builds column defs for CRUD / custom actions in the grid (pinned action column). */ private populateActionButtonsConfig; disconnectedCallback(): Promise; get criteria(): string; get fields(): string; get isSnapshot(): boolean; get maxRows(): number; get maxView(): number; get movingView(): boolean; get orderBy(): string; get pollingInterval(): number; get pollTriggerEvents(): string[]; get request(): any; get reverse(): boolean; get viewNumber(): number; get disablePolling(): boolean; get requestAutoSetup(): boolean; handleRowClicked(e: CustomEvent): void; handleRowDblClicked(e: CustomEvent): void; handleRowContextMenu(e: CustomEvent): void; private handleFilterChanged; private handleFilterCleared; handleRowSelected(e: CustomEvent): void; handleSelectionChanged(e: CustomEvent): void; private edit; delete(e: any): Promise; private handleCustomAction; } declare const List_base: (new (...args: any[]) => { #_container: FoundationLayoutContainer | LayoutCacheContainer | DOMContainer; #_latestTokenCode: string; #_hasFirstLoaded: boolean; #_cleanupTimeout: NodeJS.Timeout; #_shouldForceLifecycle: boolean; #_blockedDisconnectSurvivedGracePeriod: boolean; cloneNode(deep?: boolean): Node; deepClone(): Node; get shouldRunDisconnect(): boolean; get shouldRunConnect(): boolean; #_blockLifecycleDueToTokenChange(lifecycleType: "connect" | "disconnect" | "reconnect"): boolean; #_tryFindContainingLayout(e: Element): FoundationLayoutContainer | LayoutCacheContainer | DOMContainer; connectedCallback(): void; readonly $fastController: Controller; $emit(type: string, detail?: any, options?: Omit): boolean | void; disconnectedCallback(): void; attributeChangedCallback(name: string, oldValue: string, newValue: string): void; accessKey: string; readonly accessKeyLabel: string; autocapitalize: string; autocorrect: boolean; dir: string; draggable: boolean; hidden: boolean; inert: boolean; innerText: string; lang: string; readonly offsetHeight: number; readonly offsetLeft: number; readonly offsetParent: Element | null; readonly offsetTop: number; readonly offsetWidth: number; outerText: string; popover: string | null; spellcheck: boolean; title: string; translate: boolean; writingSuggestions: string; attachInternals(): ElementInternals; click(): void; hidePopover(): void; showPopover(): void; togglePopover(options?: boolean): boolean; addEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; readonly attributes: NamedNodeMap; get classList(): DOMTokenList; set classList(value: string): any; className: string; readonly clientHeight: number; readonly clientLeft: number; readonly clientTop: number; readonly clientWidth: number; readonly currentCSSZoom: number; id: string; innerHTML: string; readonly localName: string; readonly namespaceURI: string | null; onfullscreenchange: (this: Element, ev: Event) => any; onfullscreenerror: (this: Element, ev: Event) => any; outerHTML: string; readonly ownerDocument: Document; get part(): DOMTokenList; set part(value: string): any; readonly prefix: string | null; readonly scrollHeight: number; scrollLeft: number; scrollTop: number; readonly scrollWidth: number; readonly shadowRoot: ShadowRoot | null; slot: string; readonly tagName: string; attachShadow(init: ShadowRootInit): ShadowRoot; checkVisibility(options?: CheckVisibilityOptions): boolean; closest(selector: K): HTMLElementTagNameMap[K]; closest(selector: K): SVGElementTagNameMap[K]; closest(selector: K): MathMLElementTagNameMap[K]; closest(selectors: string): E; computedStyleMap(): StylePropertyMapReadOnly; getAttribute(qualifiedName: string): string | null; getAttributeNS(namespace: string | null, localName: string): string | null; getAttributeNames(): string[]; getAttributeNode(qualifiedName: string): Attr | null; getAttributeNodeNS(namespace: string | null, localName: string): Attr | null; getBoundingClientRect(): DOMRect; getClientRects(): DOMRectList; getElementsByClassName(classNames: string): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: K): HTMLCollectionOf; getElementsByTagName(qualifiedName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1999/xhtml", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf; getHTML(options?: GetHTMLOptions): string; hasAttribute(qualifiedName: string): boolean; hasAttributeNS(namespace: string | null, localName: string): boolean; hasAttributes(): boolean; hasPointerCapture(pointerId: number): boolean; insertAdjacentElement(where: InsertPosition, element: Element): Element | null; insertAdjacentHTML(position: InsertPosition, string: string): void; insertAdjacentText(where: InsertPosition, data: string): void; matches(selectors: string): boolean; releasePointerCapture(pointerId: number): void; removeAttribute(qualifiedName: string): void; removeAttributeNS(namespace: string | null, localName: string): void; removeAttributeNode(attr: Attr): Attr; requestFullscreen(options?: FullscreenOptions): Promise; requestPointerLock(options?: PointerLockOptions): Promise; scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; scrollBy(options?: ScrollToOptions): void; scrollBy(x: number, y: number): void; scrollIntoView(arg?: boolean | ScrollIntoViewOptions): void; scrollTo(options?: ScrollToOptions): void; scrollTo(x: number, y: number): void; setAttribute(qualifiedName: string, value: string): void; setAttributeNS(namespace: string | null, qualifiedName: string, value: string): void; setAttributeNode(attr: Attr): Attr | null; setAttributeNodeNS(attr: Attr): Attr | null; setHTMLUnsafe(html: string): void; setPointerCapture(pointerId: number): void; toggleAttribute(qualifiedName: string, force?: boolean): boolean; webkitMatchesSelector(selectors: string): boolean; textContent: string; readonly baseURI: string; readonly childNodes: NodeListOf; readonly firstChild: ChildNode | null; readonly isConnected: boolean; readonly lastChild: ChildNode | null; readonly nextSibling: ChildNode | null; readonly nodeName: string; readonly nodeType: number; nodeValue: string | null; readonly parentElement: HTMLElement | null; readonly parentNode: ParentNode | null; readonly previousSibling: ChildNode | null; appendChild(node: T_1): T_1; compareDocumentPosition(other: Node): number; contains(other: Node | null): boolean; getRootNode(options?: GetRootNodeOptions): Node; hasChildNodes(): boolean; insertBefore(node: T_1, child: Node | null): T_1; isDefaultNamespace(namespace: string | null): boolean; isEqualNode(otherNode: Node | null): boolean; isSameNode(otherNode: Node | null): boolean; lookupNamespaceURI(prefix: string | null): string | null; lookupPrefix(namespace: string | null): string | null; normalize(): void; removeChild(child: T_1): T_1; replaceChild(node: Node, child: T_1): T_1; readonly ELEMENT_NODE: 1; readonly ATTRIBUTE_NODE: 2; readonly TEXT_NODE: 3; readonly CDATA_SECTION_NODE: 4; readonly ENTITY_REFERENCE_NODE: 5; readonly ENTITY_NODE: 6; readonly PROCESSING_INSTRUCTION_NODE: 7; readonly COMMENT_NODE: 8; readonly DOCUMENT_NODE: 9; readonly DOCUMENT_TYPE_NODE: 10; readonly DOCUMENT_FRAGMENT_NODE: 11; readonly NOTATION_NODE: 12; readonly DOCUMENT_POSITION_DISCONNECTED: 1; readonly DOCUMENT_POSITION_PRECEDING: 2; readonly DOCUMENT_POSITION_FOLLOWING: 4; readonly DOCUMENT_POSITION_CONTAINS: 8; readonly DOCUMENT_POSITION_CONTAINED_BY: 16; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: 32; dispatchEvent(event: Event): boolean; ariaActiveDescendantElement: Element | null; ariaAtomic: string | null; ariaAutoComplete: string | null; ariaBrailleLabel: string | null; ariaBrailleRoleDescription: string | null; ariaBusy: string | null; ariaChecked: string | null; ariaColCount: string | null; ariaColIndex: string | null; ariaColIndexText: string | null; ariaColSpan: string | null; ariaControlsElements: ReadonlyArray | null; ariaCurrent: string | null; ariaDescribedByElements: ReadonlyArray | null; ariaDescription: string | null; ariaDetailsElements: ReadonlyArray | null; ariaDisabled: string | null; ariaErrorMessageElements: ReadonlyArray | null; ariaExpanded: string | null; ariaFlowToElements: ReadonlyArray | null; ariaHasPopup: string | null; ariaHidden: string | null; ariaInvalid: string | null; ariaKeyShortcuts: string | null; ariaLabel: string | null; ariaLabelledByElements: ReadonlyArray | null; ariaLevel: string | null; ariaLive: string | null; ariaModal: string | null; ariaMultiLine: string | null; ariaMultiSelectable: string | null; ariaOrientation: string | null; ariaOwnsElements: ReadonlyArray | null; ariaPlaceholder: string | null; ariaPosInSet: string | null; ariaPressed: string | null; ariaReadOnly: string | null; ariaRelevant: string | null; ariaRequired: string | null; ariaRoleDescription: string | null; ariaRowCount: string | null; ariaRowIndex: string | null; ariaRowIndexText: string | null; ariaRowSpan: string | null; ariaSelected: string | null; ariaSetSize: string | null; ariaSort: string | null; ariaValueMax: string | null; ariaValueMin: string | null; ariaValueNow: string | null; ariaValueText: string | null; role: string | null; animate(keyframes: Keyframe[] | PropertyIndexedKeyframes | null, options?: number | KeyframeAnimationOptions): Animation; getAnimations(options?: GetAnimationsOptions): Animation[]; after(...nodes: (Node | string)[]): void; before(...nodes: (Node | string)[]): void; remove(): void; replaceWith(...nodes: (Node | string)[]): void; readonly nextElementSibling: Element | null; readonly previousElementSibling: Element | null; readonly childElementCount: number; readonly children: HTMLCollection; readonly firstElementChild: Element | null; readonly lastElementChild: Element | null; append(...nodes: (Node | string)[]): void; prepend(...nodes: (Node | string)[]): void; querySelector(selectors: K): HTMLElementTagNameMap[K] | null; querySelector(selectors: K): SVGElementTagNameMap[K] | null; querySelector(selectors: K): MathMLElementTagNameMap[K] | null; querySelector(selectors: K): HTMLElementDeprecatedTagNameMap[K] | null; querySelector(selectors: string): E | null; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: K): NodeListOf; querySelectorAll(selectors: string): NodeListOf; replaceChildren(...nodes: (Node | string)[]): void; readonly assignedSlot: HTMLSlotElement | null; readonly attributeStyleMap: StylePropertyMap; get style(): CSSStyleDeclaration; set style(cssText: string): any; contentEditable: string; enterKeyHint: string; inputMode: string; readonly isContentEditable: boolean; onabort: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onanimationcancel: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationend: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationiteration: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onanimationstart: ((this: GlobalEventHandlers, ev: AnimationEvent) => any) | null; onauxclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onbeforeinput: ((this: GlobalEventHandlers, ev: InputEvent) => any) | null; onbeforematch: ((this: GlobalEventHandlers, ev: Event) => any) | null; onbeforetoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null; onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncanplaythrough: ((this: GlobalEventHandlers, ev: Event) => any) | null; onchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onclick: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncontextmenu: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; oncuechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; oncut: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; ondblclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; ondrag: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragend: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragenter: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragleave: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragover: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondragstart: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondrop: ((this: GlobalEventHandlers, ev: DragEvent) => any) | null; ondurationchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onemptied: ((this: GlobalEventHandlers, ev: Event) => any) | null; onended: ((this: GlobalEventHandlers, ev: Event) => any) | null; onerror: OnErrorEventHandler; onfocus: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; onformdata: ((this: GlobalEventHandlers, ev: FormDataEvent) => any) | null; ongotpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; oninput: ((this: GlobalEventHandlers, ev: Event) => any) | null; oninvalid: ((this: GlobalEventHandlers, ev: Event) => any) | null; onkeydown: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeypress: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onkeyup: ((this: GlobalEventHandlers, ev: KeyboardEvent) => any) | null; onload: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadeddata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadedmetadata: ((this: GlobalEventHandlers, ev: Event) => any) | null; onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onmousedown: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseenter: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseleave: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmousemove: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseout: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseover: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onmouseup: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; onpaste: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; onpause: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplay: ((this: GlobalEventHandlers, ev: Event) => any) | null; onplaying: ((this: GlobalEventHandlers, ev: Event) => any) | null; onpointercancel: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerdown: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerenter: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerleave: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointermove: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerout: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerover: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onpointerrawupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; onpointerup: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; onprogress: ((this: GlobalEventHandlers, ev: ProgressEvent) => any) | null; onratechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onreset: ((this: GlobalEventHandlers, ev: Event) => any) | null; onresize: ((this: GlobalEventHandlers, ev: UIEvent) => any) | null; onscroll: ((this: GlobalEventHandlers, ev: Event) => any) | null; onscrollend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsecuritypolicyviolation: ((this: GlobalEventHandlers, ev: SecurityPolicyViolationEvent) => any) | null; onseeked: ((this: GlobalEventHandlers, ev: Event) => any) | null; onseeking: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselect: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectionchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onselectstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onslotchange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onstalled: ((this: GlobalEventHandlers, ev: Event) => any) | null; onsubmit: ((this: GlobalEventHandlers, ev: SubmitEvent) => any) | null; onsuspend: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontimeupdate: ((this: GlobalEventHandlers, ev: Event) => any) | null; ontoggle: ((this: GlobalEventHandlers, ev: ToggleEvent) => any) | null; ontouchcancel?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchend?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchmove?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontouchstart?: ((this: GlobalEventHandlers, ev: TouchEvent) => any) | null | undefined; ontransitioncancel: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionend: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionrun: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; ontransitionstart: ((this: GlobalEventHandlers, ev: TransitionEvent) => any) | null; onvolumechange: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwaiting: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationiteration: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkitanimationstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwebkittransitionend: ((this: GlobalEventHandlers, ev: Event) => any) | null; onwheel: ((this: GlobalEventHandlers, ev: WheelEvent) => any) | null; autofocus: boolean; readonly dataset: DOMStringMap; nonce?: string; tabIndex: number; blur(): void; focus(options?: FocusOptions): void; }) & (new () => HTMLElement & GenesisElement) & { from(BaseType: TBase): new () => InstanceType & GenesisElement; define(type: TType, nameOrDef?: string | PartialFASTElementDefinition | undefined): TType; }; /** * @internal */ export declare const LoadingTemplate: ViewTemplate_2; /** * @public */ export declare const logger: Logger; /** * @public */ export declare class MainApplication extends GenesisElement { config: MainRouterConfig; connect: Connect; session: Session; container: Container; provider: HTMLElement; ready: boolean; connectedCallback(): void; onLuminanceToggle(): void; loadRemotes(): Promise; selectTemplate(): ViewTemplate; private registerDIDependencies; } /** * Base implementation of a routing used with the Login class * * @remarks * * Could be used when using the Login class as a standalone authentication method * with your app * * @internal */ declare class MainRouterConfig extends FoundationRouterConfiguration { private auth; private session; constructor(auth: Auth, session: Session); configure(): void; construct(Type: Constructable): T; } /** * @internal */ export declare const MainTemplate: ViewTemplate_2; /** * Map default values for custom actions * * Transform default values object by replacing values with special type 'record' * with corresponding values from the row data * * @param defaultValues - Object containing default values with potential record mappings * @param rowData - The row data containing values to map from * @returns Mapped object with record values replaced by corresponding row data values */ export declare function mapDefaultValues(defaultValues: Record, rowData: any): Record; export declare enum ModalFormType { Create = "create", Read = "read", Update = "update" } export declare interface RecordTypeValue { type: 'record'; mapping?: string; } export declare const RESOURCE_NAME: InterfaceSymbol; declare type RouterSettings = { public?: boolean; autoAuth?: boolean; }; /** * A focused form dialog component that renders a single trigger button which opens a modal * containing an auto-generated form. * * @remarks * `smart-form-modal` is a trimmed-down variant of {@link EntityManagement} intended for * single-action use cases — approval submissions, bespoke inserts — * where you want a button that opens a form modal without the accompanying data grid. * * The component inherits the full `entity-management` API but exposes a purpose-fit surface * of its own: * * | `smart-form-modal` attr | Underlying property | Notes | * |---|---|---| * | `event` | `createEvent` | The Genesis event handler that processes the form submission | * | `button-label` | `createLabel` | Button and modal title text; replaces the default "Add {entityLabel}" | * | `form-ui-schema` (`:formUiSchema`) | `createFormUiSchema` | UI schema passed as a property binding | * | `success-notification-title` | — | Overrides the toast title shown on successful submit | * | `success-notification-body` | — | Overrides the toast body shown on successful submit | * * The underlying `entity-management` attributes (`createEvent`, `createFormUiSchema`, * `create-label`, `confirmation-message`, `default-entity-values`, `design-system-prefix`, * `set-approval-message`, `approval-message-label`, `form-renderers`, * `additional-form-renderers`, `readonly`) all continue to work — the aliases listed above * are simply the preferred vocabulary for this component. * * Attributes that belong to the grid (`updateEvent`, `deleteEvent`, `columns`, `gridOptions`, * `datasource-config`, `resource-name`, `enable-search-bar`, `enable-filter-bar`, etc.) are * inherited but have no effect because the grid is always hidden. * * **Defaults that differ from `entity-management`:** * - `modalPosition` defaults to `'centre'` (entity-management defaults to `'right'`) * - `crudMenuPosition` defaults to `'top'` (entity-management defaults to `'column'`) * * @example * Minimal usage — form fields are auto-generated from the event schema: * ```html * * ``` * * @example * Custom action label with styled button via CSS part: * ```html * * ``` * ```css * smart-form-modal::part(create-button) { * background-color: #d32f2f; * color: #fff; * } * ``` * * @example * Controlled form layout via `formUiSchema` property binding: * ```html * * ``` * * @example * Confirmation dialog before submit: * ```html * * ``` * * @example * Read-only view mode: * ```html * * ``` * * @csspart create-button - The trigger button that opens the modal. Style via `::part(create-button)`. * * @fires submit-success - Fired when the form is submitted successfully. detail: `SubmitSuccessEventDetail` * @fires submit-failure - Fired when the form submission returns an error. detail: `SubmitFailureEventDetail` * * @public */ export declare class SmartFormModal extends EntityManagement { /** @internal */ gridVisible: boolean; /** @internal */ modalPosition: 'centre' | 'left' | 'right'; /** @internal */ crudMenuPosition: CrudMenuPosition; /** * The Genesis event handler that processes the form submission. * * @remarks * Alias for `createEvent`. Prefer `event` when using `smart-form-modal` — it reads more * naturally for single-action components where the CRUD framing of `createEvent` does not apply. * * @example * ```html * * ``` * @public */ event: string; eventChanged(_: string, next: string): void; /** * Label appended to the default button text, producing "Add {entity-label}". * * @remarks * Re-declares the inherited `entityLabel` attr explicitly so FAST observes it on this element. * Has no effect when `button-label` is also set — `button-label` takes full precedence. * * @example * ```html * * ``` * @public */ entityLabel: string; /** * UI schema that controls the layout and visibility of form fields. * * @remarks * Alias for `createFormUiSchema`. Must be set as a property binding (`:formUiSchema`) since it * accepts a `UiSchema` object, not a plain string attribute. * * When omitted, the form is auto-generated from the event's server-side schema. * * @example * ```html * * ``` * @public */ formUiSchema: UiSchema; formUiSchemaChanged(_: UiSchema, next: UiSchema): void; /** * Text displayed on the trigger button and as the modal title. * * @remarks * Alias for `create-label`. When set, the default "Add {entityLabel}" text is replaced * entirely and the `+` icon is hidden so the label stands alone. * * @example * ```html * * ``` * @public */ buttonLabel: string; buttonLabelChanged(_: string, next: string): void; } /** * Detail payload for the `submit-failure` event, fired when an inline cell edit fails to commit. * @public */ export declare interface SubmitFailureEventDetail { payload: Record; errors: MessageError[]; } /** * Detail payload for the `submit-success` event, fired when an inline cell edit commits successfully. * @public */ export declare interface SubmitSuccessEventDetail { payload: Record; } export { UiSchema } export { UiSchemaElement } export { UiSchemaElementType } export { UiSchemaOptions } export { }