import { InterceptorDefBuilder, InterceptorFactory, InterceptorMeta, PadroneInterceptorFn } from "../types/interceptor.mjs"; //#region src/core/interceptors.d.ts /** * Creates a self-contained interceptor value by attaching static metadata to the factory function. * The returned value can be passed directly to `.intercept()` or exported from a package. * * Two-arg form — define metadata and factory in one call: * ```ts * export const myInterceptor = defineInterceptor( * { name: 'my-interceptor', order: 10 }, * () => ({ * execute(ctx, next) { return next(); }, * }), * ); * ``` * * Single-arg form — chain `.requires()` for typed context, then `.factory()`: * ```ts * export const myInterceptor = defineInterceptor({ name: 'with-db' }) * .requires<{ db: DB }>() * .factory(() => ({ * execute(ctx, next) { * ctx.context.db; // typed! * return next(); * }, * })); * ``` */ declare function defineInterceptor(meta: InterceptorMeta, factory: InterceptorFactory): PadroneInterceptorFn; declare function defineInterceptor(meta: InterceptorMeta): InterceptorDefBuilder; //#endregion export { defineInterceptor }; //# sourceMappingURL=interceptors.d.mts.map