import { Observable, Subscription } from 'rxjs';
import { ComponentStore } from '@ngrx/component-store';
/**
 * Immer wrapper around `ImmerComponentStore` to mutate state
 * with `updater` and `setState`
 */
export declare class ImmerComponentStore<State extends object> extends ComponentStore<State> {
    updater<ProvidedType = void, OriginType = ProvidedType, ValueType = OriginType, ReturnType = OriginType extends void ? () => void : (observableOrValue: ValueType | Observable<ValueType>) => Subscription>(updaterFn: (state: State, value: OriginType) => void | State): ReturnType;
    setState(stateOrUpdaterFn: State | ((state: State) => void | State)): void;
}
