export interface FilterState<T> {
    data: T;
    active: boolean;
    reset(): void;
}
export type AnyFilter = FilterState<any>;
export declare function useFilter<T extends object>(id: string, setup: () => T, onUpdate?: (value: T, oldValue: T) => void): FilterState<T>;
export declare function useTemporaryFilter<T extends object>(setup: () => T, onUpdate?: (value: T, oldValue: T) => void): FilterState<T>;
