import type { ColDef, ColumnState, GridOptions } from '@ag-grid-community/core'; import { Connect, Datasource, DatasourceOptions, DatasourceStatus, FieldMetadata, FieldTypeEnum } from '@genesislcap/foundation-comms'; import { BehaviorSubject, Subscription } from 'rxjs'; import { type BaseDatasourceErrorEventDetail } from './base.types'; /** * The delimiter for the criteria string. * @public */ export declare const criteriaDelimiter = ";"; /** * The join for the criteria string. * @public */ export declare const criteriaJoin = " && "; declare const GenesisGridDatasourceElement_base: new () => { datasourceStatus: DatasourceStatus; resourceName: string; data?: unknown; onDatasourceStatusChanged: (event: import("@genesislcap/foundation-comms").DatasourceStatusChangedEvent) => void; datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void; connectedCallback(): void; disconnectedCallback(): 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) | null; onfullscreenerror: ((this: Element, ev: Event) => any) | null; 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] | null; closest(selector: K): SVGElementTagNameMap[K] | null; closest(selector: K): MathMLElementTagNameMap[K] | null; closest(selectors: string): E | null; 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): T; cloneNode(subtree?: boolean): Node; compareDocumentPosition(other: Node): number; contains(other: Node | null): boolean; getRootNode(options?: GetRootNodeOptions): Node; hasChildNodes(): boolean; insertBefore(node: T, child: Node | null): T; 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): T; replaceChild(node: Node, child: T): T; 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; readonly $fastController: import("@microsoft/fast-element").Controller; $emit(type: string, detail?: any, options?: Omit): boolean | void; attributeChangedCallback(name: string, oldValue: string, newValue: string): void; }; /** * The base datasource element for the grid-pro element. * @public * * @fires base-datasource-error - Fired when a datasource error is reported * @fires datasource-error - Fired when a datasource error occurs (for grid integration) * @fires base-datasource-connected - Fired when error state is cleared after connection succeeds * @fires datasource-loading-finished - Fired when pending stream transactions are flushed with no row changes * @fires datasource-no-data-available - Fired when loading finishes with an empty row set * @fires datasource-data-changed - Fired when row data changes from applied stream transactions */ export declare class GenesisGridDatasourceElement extends GenesisGridDatasourceElement_base { connect: Connect; datasource: Datasource; deferredGridOptions: GridOptions; deferredColumnStates: ColumnState[]; /** * Allows grid data updates to be processed via and external function before applying in grid */ rowDataMapper: Function; /** * Groovy expression to perform filters on the query server; these remain active for the life of the subscription. */ criteria: string; /** * Request a snapshot from the server. * @remarks Defaults to false. */ isSnapshot: boolean; /** * Maximum number of rows to be returned as part of the initial message, and as part of any additional MORE_ROWS messages. * @remarks This will not affect the number of rows displayed. Defaults to 250. */ maxRows: number; /** * Option to select a Data Server index (defined in the Data Server query), which is especially useful if you want the data to be sorted in a specific way. * @remarks By default, rows are returned in order of creation (from oldest database record to newest). */ orderBy: string; /** * The name of the target Data Server query or Request Server requestReply. * @remarks Required attribute. */ resourceName: string; /** * The desired view/page you want data from. */ viewNumber: number; /** * Optional parameter that allows you to select a subset of fields from the query if the client is not interested in receiving all of them. * @remarks DATASERVER only. */ fields: string; /** * Maximum number of rows to track as part of a client "view". * @remarks DATASERVER only. Defaults to 1000. */ maxView: number; /** * If true, when the maximum number of rows defined in max-view is reached, the Data Server will start discarding the oldest rows (in terms of timestamp) and sending newer rows. * @remarks DATASERVER only. If false, the updates in the server will be sent to the front end regardless of order. Note that this will only update the UI; no changes will be performed in the database. Defaults to false. */ movingView: boolean; /** * Option that changes the Data Server index iteration. * @remarks DATASERVER only. For example, if you are using the default index, the query will return rows in order from the newest database records to the oldest. Defaults to false. */ reverse: boolean; /** * Disables polling if set to true (data updates for the grid will not be fetched automatically). * @remarks REQUEST_SERVER only. Defaults to false. */ disablePolling: boolean; /** * The offset for pagination in REQUEST_SERVER scenarios. * @remarks REQUEST_SERVER only. */ offset: number; /** * Custom polling frequency (in milliseconds) for a Request Server resource. * @remarks REQUEST_SERVER only. Note that this option only works with Request Server resources; if your resource is a Data Server query, your grid is updated in real time. Defaults to 5000ms. */ pollingInterval: number; /** * Array of event names that will trigger a poll when received as commit responses. * @remarks REQUEST_SERVER only. */ pollTriggerEvents: string[]; /** * Similar to fields but for Request Server scenarios. This optional parameter enables you to specify request fields, which can include wildcards. * @remarks REQUEST_SERVER only. */ request: any; /** * Attribute to set whether the REQUEST object should be automatically set up. * @remarks Defaults to `true`. Only applies to REQUEST_SERVER (REQ-REP) resources. * @privateRemarks To avoid breaking changes for now, once V15 is out this will be removed and the default behavior will be the same as `false` here. */ requestAutoSetup: boolean; /** * Attribute to set an unique identifier for the row. * * Defaults to `ROW_REF` or `RECORD_ID` depending on the resource type. * @privateRemarks Attribute-only, not to be used as a property. Use `rowId` getter instead. */ rowIdAttr: any; /** * Attribute to set whether the datasource should restart when it reconnects. * @remarks Defaults to `true`. * @privateRemarks This attribute is shared across all datasources to ensure consistent behavior. */ restartOnReconnection: boolean; /** * Returns the `row-id` attribute, depending on the resource type. * @remarks Will favour the `row-id` attribute if set. * @internal */ protected get rowId(): string; /** * Returns whether the `row-id` attribute is the default one, depending on the resource type. * @internal */ protected get hasDefaultRowId(): boolean; protected get defaultRowIdByResourceType(): string; protected criteriaFromFilters: Map; protected update: BehaviorSubject>; protected datasourceOptions(): DatasourceOptions; private buildCriteria; setFilter(fieldName: string, newFilter: string): void; removeFilter(fieldName: string): void; get isRequestServer(): boolean; datasourceStatusChanged(prev: DatasourceStatus, next: DatasourceStatus): void; /** * Handles errors and emits appropriate error events. * @param errors - The error message or array of error messages * @param type - The type of error that occurred * @public */ handleErrors(errors: string | any[], type?: BaseDatasourceErrorEventDetail['type']): void; /** * Clears error state and emits connected event. * @public */ clearErrors(): void; /** * Override datasource initialization to handle errors properly. * @internal */ protected initializeDatasource(options: DatasourceOptions, fetchMeta?: boolean, startStream?: boolean): Promise; } /** * The operation type for the {@link GridProBaseDatasource.mapTransaction} method. * @internal */ export declare enum OperationType { Add = "add", Update = "update", Remove = "remove" } /** * @public */ /** * Interface for transaction data */ interface TransactionData { add?: any[]; remove?: any[]; update?: any[]; addIndex?: number; } export declare class GridProBaseDatasource extends GenesisGridDatasourceElement { protected dataSubWasLoggedOff: boolean; keepColDefsOnClearRowData: boolean; rowData: Map; protected transactionData: TransactionData; protected connectionSub: Subscription | undefined; protected subscribeToConnection(): void; protected unsubscribeFromConnection(): void; protected generateColumnDefsFromMetadata(fieldsMetadata: FieldMetadata[], getFilterParamsByFieldType: (field: FieldMetadata) => ColDef['filterParams'] | any, getFilterByFieldType: (type: FieldTypeEnum) => string): ColDef[]; protected handleStreamInserts(insertedRows: any[], addIndex?: number): void; protected handleStreamDeletes(deletedRows: any[]): void; protected handleStreamUpdates(updatedRows: any[]): void; protected applyAllTransactions(): void; private applyMappedTransaction; protected applyTransaction(transaction: any): any; /** * Maps the transaction data to the row data mapper function, if it exists. * @param transaction - The transaction data to be mapped. * @param operations - The operations to be mapped. Can be 'add', 'update' or 'remove'. * @returns The mapped transaction (if the row data mapper function exists), or the original transaction. */ private mapTransaction; protected pagination: boolean; loadMore(): void; restart(): void; reloadResourceData(): void; destroy(): void; private _isDisconnected; /** * Sets the disconnected state and emits appropriate events. * @param disconnected - true to set, false to remove */ setDisconnected(disconnected: boolean): void; /** * Returns true if the datasource is disconnected. */ isDisconnected(): boolean; /** * Helper function to extract configuration for status bar actions * @internal */ protected getStatusBarActionConfig(configValue: boolean | T | undefined): { enabled: boolean; config?: T; }; /** * Gets datasource-specific status bar component configurations. * This method should be called by the grid to get status bar panels specific to this datasource. * @public */ getDatasourceStatusBarPanels(isServerSide: boolean, statusBarConfig: any): any[]; } export {}; //# sourceMappingURL=base.datasource.d.ts.map