type On<T> = (value: T) => void;
type Off = () => void;
interface Options {
  emitOnSubscribe?: boolean;
  emitEqual?: boolean;
}
export declare class Reactive<T> {
  private initialValue;
  private value;
  private id;
  private options;
  private subscriptions;
  constructor(value?: T, options?: Options);
  set(value: T): void;
  get(): T;
  on(func: On<T>): Off;
  once(func: On<T>): Off;
  reset(): void;
  dispose(): void;
}
export {};
