declare type IState = { status: string; }; export declare type PickState = [ T ] extends [never] ? S : S extends { state: T; } ? S : never; export declare class States { private _state; private _listeners; private _isDisposed; private _transition?; constructor(initialState: S); get isDisposed(): boolean; resolve(): Promise; get(): S | U; set(state: T): T; transition Promise>(state: T, transition: P): Promise>; onTransition(listener: (state: S | U, prevState: S | U) => void): () => void; dispose(): void; } export {};