import { Listener, FilterDefinition, FilterShape } from './types';
export declare class SyncBaseStore<T> {
    private state;
    private listeners;
    private initialState;
    constructor(initialState: T);
    getState(filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>): T;
    setState(update: Partial<T> | ((prev: T) => T), filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>): void;
    cleanFieldPath(path: string): void;
    clean(): void;
    build: (update: Partial<T> | ((prev: T) => T), filterDef?: FilterDefinition<T>, filterValue?: FilterShape<T>) => void;
    subscribe(listener: Listener<T>): () => void;
    getInitialState(): T;
    private notify;
}
