import { Observable } from 'rxjs'; import { OnDestroy, Injector } from '@angular/core'; import { PblNgridComponent, PblNgridPluginController } from '@pebula/ngrid'; import { PblNgridStateLoadOptions, PblNgridStateSaveOptions } from './core/index'; import * as i0 from "@angular/core"; declare module '@pebula/ngrid/core/lib/configuration/type' { interface PblNgridConfig { state?: { /** When set to true will enable the state plugin on all table instances by default. */ autoEnable?: boolean; /** * Options to use when auto-loading the plugin */ autoEnableOptions?: { loadOptions?: PblNgridStateLoadOptions; saveOptions?: PblNgridStateSaveOptions; }; }; } } declare module '@pebula/ngrid/lib/ext/types' { interface PblNgridPluginExtension { state?: PblNgridStatePlugin; } interface PblNgridPluginExtensionFactories { state: keyof typeof PblNgridStatePlugin; } } export declare const PLUGIN_KEY: 'state'; export declare class PblNgridStatePlugin { grid: PblNgridComponent; protected injector: Injector; protected pluginCtrl: PblNgridPluginController; loadOptions?: PblNgridStateLoadOptions; saveOptions?: PblNgridStateSaveOptions; afterLoadState: Observable; afterSaveState: Observable; onError: Observable<{ phase: 'save' | 'load'; error: Error; }>; private _removePlugin; private _events; constructor(grid: PblNgridComponent, injector: Injector, pluginCtrl: PblNgridPluginController); static create(table: PblNgridComponent, injector: Injector): PblNgridStatePlugin; load(): Promise; save(): Promise; destroy(): void; private _load; } export declare class PblNgridStatePluginDirective extends PblNgridStatePlugin implements OnDestroy { loadOptions: PblNgridStateLoadOptions; saveOptions: PblNgridStateSaveOptions; constructor(grid: PblNgridComponent, injector: Injector, pluginCtrl: PblNgridPluginController); ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }