import { EventEmitter } from './EventEmitter'; export interface IDataChange { type: 'update' | 'insert' | 'remove'; key?: any; data?: string; isSeparatedRequest?: boolean; gridKey?: any; } export declare enum RequestStatus { PENDING = 0, SENT = 1, SUCCESS = 2, ERROR = 3 } export interface IRequestStatusUpdate { dataChange: IDataChange[]; gridRowKey: any; status: RequestStatus; error?: string; response?: any; requestsInQueue?: boolean; } export interface IBatchUpdateResult { dataChange: IDataChange; isSuccess: boolean; error: string; } export declare class UpdateRequestQueue extends EventEmitter { readonly REQUEST_STATUS_UPDATED_EVENT = "REQUEST_STATUS_UPDATED"; private readonly updateUrl; private readonly pendingChanges; private isRequestPending; constructor(updateUrl: string); push(change: IDataChange, separatedRequest?: boolean): void; private sendRequest; private attachGridKey; private areKeysEqual; }