import { State } from './state'; export type traverseFunction = (obj: any, callback: (obj: any, args: any[]) => void, args: any[], deep?: boolean) => void; export interface StateWrapperOptions { doClientLoad?: PromiseLike | boolean; doGlobalLoad?: PromiseLike | boolean; deep?: boolean; oneTimeLoad?: boolean; } export declare class StateWrapperBuilder { private object; private clientName; private state; private options; private providers; private newStateName; private traverse; useObject(object: any): this; setClientName(name: any): this; withOptions(options: StateWrapperOptions): this; withState(state: StateWrapper): this; withNewState(name: string): this; withProviders(providers: string[]): this; withCustomTraverse(traverseFunc: traverseFunction): this; private verifyMandatoryParametrs; end(): StateWrapper; } export declare class StateWrapper { private readonly state; private readonly clientName; private readonly inputOutputProviders; static build(): StateWrapperBuilder; constructor(state: State, clientName: any, providers?: string[]); getBaseState(): State; private _load; load(...clientList: any[]): void; loadAll(): void; private _save; save(...clientList: any[]): void; saveAll(): void; unregister(): void; }