import { PropertyKey, IVisitor, BoundaryFunction } from './types'; export declare const createObservable: (target: any, key?: PropertyKey, value?: any, shallow?: boolean) => any; export declare const createAnnotation: any>(maker: T) => (target: any) => ReturnType; export declare const getObservableMaker: (target: any) => any; export declare const createBoundaryFunction: (start: (...args: any) => void, end: (...args: any) => void) => { any>(fn?: F): ReturnType; bound: any>(callback?: F_1, context?: any) => F_1; }; export declare const createBindFunction: (boundary: Boundary) => any>(callback?: F, context?: any) => F; export declare const createBoundaryAnnotation: (start: (...args: any) => void, end: (...args: any) => void) => { any>(fn?: F): ReturnType; bound: any>(callback?: F_1, context?: any) => F_1; };