import type { ColDef } from '@ag-grid-community/core'; import type { FieldMetadata } from '@genesislcap/foundation-comms'; /** * Event names for datasource-grid communication * These represent datasource operations, not grid-specific actions */ export declare const datasourceEventNames: { readonly initialize: "datasource-initialize"; readonly ready: "datasource-ready"; readonly dataLoaded: "datasource-data-loaded"; readonly dataChanged: "datasource-data-changed"; readonly dataCleared: "datasource-data-cleared"; readonly schemaUpdated: "datasource-schema-updated"; readonly loadingStarted: "datasource-loading-started"; readonly loadingFinished: "datasource-loading-finished"; readonly noDataAvailable: "datasource-no-data-available"; readonly moreDataAvailable: "datasource-more-data-available"; readonly filtersRestored: "datasource-filters-restored"; readonly error: "datasource-error"; readonly destroy: "datasource-destroy"; readonly sizeChanged: "datasource-size-changed"; readonly cacheFilterConfig: "cache-filter-config"; readonly refreshServerSide: "refresh-server-side"; readonly setServerSideDatasource: "set-server-side-datasource"; readonly addGridCssClass: "add-grid-css-class"; readonly removeGridCssClass: "remove-grid-css-class"; readonly applyServerSideTransaction: "apply-server-side-transaction"; }; /** * Event detail for datasource initialization */ export interface InitializeEventDetail { keepColDefsOnClearRowData: boolean; options: { getRowId?: (params: any) => string; columnDefs?: ColDef[]; [key: string]: any; }; } /** * Event detail for data loading */ export interface DataLoadedEventDetail { data: any[]; isInitialLoad?: boolean; } /** * Event detail for data changes */ export interface DataChangedEventDetail { changes: { add?: any[]; remove?: any[]; update?: any[]; insertIndex?: number; }; } /** * Event detail for schema updates */ export interface SchemaUpdatedEventDetail { schema: ColDef[]; metadata?: FieldMetadata[]; } /** * Event detail for more data availability */ export interface MoreDataAvailableEventDetail { hasMoreData: boolean; sourceRef: string; } /** * Event detail for size changes */ export interface SizeChangedEventDetail { value: number; oldValue: number; } /** * Event detail for data clearing */ export interface DataClearedEventDetail { includeSchema?: boolean; } /** * Event detail for error events */ export interface DatasourceErrorEventDetail { message: string; type: 'stream' | 'criteria' | 'connection' | 'unknown'; } /** * Union type for all datasource event details */ export type DatasourceEventDetail = InitializeEventDetail | DataLoadedEventDetail | DataChangedEventDetail | SchemaUpdatedEventDetail | MoreDataAvailableEventDetail | SizeChangedEventDetail | DataClearedEventDetail | DatasourceErrorEventDetail; /** * Generic datasource event interface */ export interface DatasourceEvent extends CustomEvent { type: keyof typeof datasourceEventNames; } //# sourceMappingURL=datasource-events.types.d.ts.map