import { BaseWidget, Message } from '../widgets'; /** * A contract for widgets that want to store and restore their inner state, between sessions. */ export interface StatefulWidget { /** * Called on unload to store the inner state. */ storeState(): object; /** * Called when the widget got created by the storage service */ restoreState(oldState: object): void; } export declare namespace StatefulWidget { function is(arg: any): arg is StatefulWidget; } export declare abstract class StatefulWidgetAbstract extends BaseWidget implements StatefulWidget { abstract readonly id: string; protected readonly state: WidgetState; protected lastSetKeys: Map; protected getDefaultState(): WidgetState; protected onUpdateRequest(msg: Message): void; setState(newState: Partial, stopUpdate?: boolean): void; storeState(): object; restoreState(newState: object): void; isStateChanged(keys?: (keyof WidgetState)[]): boolean; resetState(): void; } //# sourceMappingURL=stateful-widget.d.ts.map