import { CliState, ICliServiceProvider, ICliStateStore } from '@qodalis/cli-core';
import { Observable, Subscription } from 'rxjs';
export declare class CliStateStore implements ICliStateStore {
    private readonly services;
    readonly name: string;
    private readonly initialState;
    private state$;
    private storageKey;
    constructor(services: ICliServiceProvider, name: string, initialState: CliState);
    getState<T extends CliState = CliState>(): T;
    updateState(newState: Partial<CliState>): void;
    select<K>(selector: (state: CliState) => K): Observable<K>;
    subscribe(callback: (state: CliState) => void): Subscription;
    reset(): void;
    persist(): Promise<void>;
    initialize(): Promise<void>;
}
