import { type Constructable } from '@aurelia/kernel'; import type { InterceptorFunc } from './interfaces'; export interface IObservableDefinition { name?: PropertyKey; callback?: PropertyKey; set?: InterceptorFunc; } type FieldInitializer = (this: TFThis, initialValue: TValue) => TValue; type ObservableFieldDecorator = (target: undefined, context: ClassFieldDecoratorContext) => FieldInitializer; type ObservableClassDecorator = (target: TCThis, context: ClassDecoratorContext) => void; export declare const observable: { (target: undefined, context: ClassFieldDecoratorContext): FieldInitializer; (config: IObservableDefinition): (target: TCThis | undefined, context: ClassDecoratorContext | ClassFieldDecoratorContext) => FieldInitializer | void; (key: PropertyKey): ObservableClassDecorator; (): ObservableFieldDecorator; }; export {}; //# sourceMappingURL=observable.d.ts.map