import { IEqualsComparer, IObservableArray, IMapEntries, IReadonlyMapEntries, IKeyValueMap, IObservableSetInitialValues, IObservableValue, ObservableMap, ObservableSet, Annotation, AnnotationsMap } from "../internal"; import { type DecoratorAnnotation } from "./decoratorannotation"; import type { ClassAccessorAndFieldDecorator } from "../types/decorator_fills"; export type CreateObservableOptions = { name?: string; equals?: IEqualsComparer; deep?: boolean; defaultDecorator?: Annotation; autoBind?: boolean; }; export declare function getAnnotationFromOptions(options?: CreateObservableOptions): Annotation | undefined; interface IObservableValueFactory { (value: T, options?: CreateObservableOptions): IObservableValue; (value?: T, options?: CreateObservableOptions): IObservableValue; } interface IObservableMapFactory { (): ObservableMap; (initialValues?: IMapEntries, options?: CreateObservableOptions): ObservableMap; (initialValues?: IReadonlyMapEntries, options?: CreateObservableOptions): ObservableMap; (initialValues?: IKeyValueMap, options?: CreateObservableOptions): ObservableMap; (initialValues?: Map, options?: CreateObservableOptions): ObservableMap; (initialValues: undefined, options?: CreateObservableOptions): ObservableMap; } export interface IObservableFactory extends Annotation, ClassAccessorAndFieldDecorator { (value: T[], options?: CreateObservableOptions): IObservableArray; (value: Set, options?: CreateObservableOptions): ObservableSet; (value: Map, options?: CreateObservableOptions): ObservableMap; (value: T, annotations?: AnnotationsMap, options?: CreateObservableOptions): T; box: IObservableValueFactory; array: (initialValues?: T[], options?: CreateObservableOptions) => IObservableArray; set: (initialValues?: IObservableSetInitialValues, options?: CreateObservableOptions) => ObservableSet; map: IObservableMapFactory; object: (props: T, annotations?: AnnotationsMap, options?: CreateObservableOptions) => T; } export declare const observableRef: DecoratorAnnotation; export declare const observableShallow: DecoratorAnnotation; export declare const observableDeep: DecoratorAnnotation; export declare const observableStruct: DecoratorAnnotation; export declare var observable: IObservableFactory; export {};