import type { Ctor, FunctionDecorator, TypedPropertyDecorator } from '../types.js'; export declare abstract class Interception { /** * Calls a custom function each with new instance created. * @param fn A custom function. */ static readonly init: (fn: (o: any) => void) => (c: Ctor) => Ctor; /** * Provides an initial / default value. * @param val The initial value. */ static readonly initial: (val: T) => TypedPropertyDecorator; /** * Intercepts the input of a function, preventing its execution. * @param fn A custom function. * @returns The result of the custom function. */ static readonly input: (fn: (args: any[], o: any) => any) => FunctionDecorator; /** * Intercepts the output of a function, after it is executed. * @param fn A custom function. * @returns The result of the custom function. */ static readonly output: (fn: (val: T, args: any[], o: any) => T) => FunctionDecorator; private static readonly expose; } //# sourceMappingURL=interception.d.ts.map