///
import type { Types } from './types';
export declare class SharedState {
private _debugLabel;
private _eventRegister;
private _stateCache;
private _componentUnregister;
private _componentUpdateId;
constructor(defaultState: S, options?: Types.Options);
get state(): S;
set state(object: S);
get prevState(): Partial;
set prevState(object: Partial);
setState(partialState: Partial): Partial | undefined;
setProp(propName: K, newValue: S[K]): void;
refresh(refreshKey?: Types.UpdateKeys): void;
reset(resetData?: S): void;
addListener(callback: (current: S, prev: Partial) => void, trigger?: Types.UpdateKeys): () => boolean;
removeAllListeners(): void;
register(component: React.Component, updateKeys?: Types.UpdateKeys): void;
unregister(component: React.Component): void;
useState(updateKeys?: Types.UpdateKeys, shouldUpdate?: Types.ShouldUpdate): [S, Types.SetState];
useProp(updateKey: K): [S[K], Types.SetProp];
debugger(...log: any[]): void;
toString(): string;
}
export type { Types as SharedStateTypes } from './types';
//# sourceMappingURL=index.d.ts.map