import { IEqualsComparer } from "../types/comparer"; import { IComputedValue } from "../core/computedvalue"; export interface IComputedValueOptions { compareStructural?: boolean; struct?: boolean; equals?: IEqualsComparer; name?: string; setter?: (value: T) => void; context?: any; } export interface IComputed { (func: () => T, setter?: (value: T) => void): IComputedValue; (func: () => T, options: IComputedValueOptions): IComputedValue; (target: Object, key: string | symbol, baseDescriptor?: PropertyDescriptor): void; struct(target: Object, key: string | symbol, baseDescriptor?: PropertyDescriptor): void; equals(equals: IEqualsComparer): PropertyDecorator; } /** * Decorator for class properties: @computed get value() { return expr; }. * For legacy purposes also invokable as ES5 observable created: `computed(() => expr)`; */ export declare var computed: IComputed;