import { OperatorFunction } from 'rxjs';
import { Storage } from './types/storage';
import { Change } from './types/changes';
import { State } from './state';
export declare class PersistentState<T> extends State<T> {
    readonly state: State<T>;
    readonly storage: Storage<T>;
    readonly transform?: OperatorFunction<Change<T>, Change<T>> | undefined;
    private _received;
    constructor(state: State<T>, storage: Storage<T>, transform?: OperatorFunction<Change<T>, Change<T>> | undefined);
}
export declare function persistent<T>(state: State<T>, storage: Storage<T>): PersistentState<T>;
