import { Observable } from 'rxjs';
export declare class RXBox<stateSchema = any> {
    private static isWasRun;
    private lastChanges;
    private store;
    saveToLocalStorage: boolean;
    saveToSessionStorage: boolean;
    private history;
    private subscribers;
    constructor();
    private static preventFunctionsInKey;
    private changes;
    private pushHistory;
    debug: boolean;
    getHistory(): any[];
    clearHistory(): void;
    /**
     * @deprecated Since version 0.5.6. Will be deleted in future version
     */
    watch(key?: any, subscriberName?: string, passByReference?: boolean): Observable<any>;
    select(key?: any, subscriberName?: string, passByReference?: boolean): Observable<any>;
    getState(passByReference?: any): stateSchema;
    clearState(): void;
    assignState(stateChanges: Partial<stateSchema>): void;
    assignStateAsync(stateChanges: Partial<stateSchema>): Promise<void>;
    getStoreFromSessionStorage(): any;
    getStoreFromLocalStorage(): any;
}
