import 'reflect-metadata'; import { PipeConstructor } from './pipe.interface.js'; import type { ClassConstructor } from '../types.js'; /** * Marks a class as a pipe * * @example * ```typescript * @Pipe() * export class ValidationPipe implements PipeInterface { * transform(value: unknown, metadata: ArgumentMetadata) { * // Validate and transform * return value; * } * } * ``` */ export declare function Pipe(): ClassDecorator; /** * Apply pipes to tool input (entire input object) * * @example * ```typescript * @Tool({ name: 'create_user', ... }) * @UsePipes(ValidationPipe, TransformPipe) * async createUser(input: unknown) { } * ``` */ export declare function UsePipes(...pipes: PipeConstructor[]): MethodDecorator; /** * Parameter decorator to apply pipes to specific parameters * * @example * ```typescript * @Tool({ name: 'create_user', ... }) * async createUser(@Body(ValidationPipe) input: CreateUserDto) { } * ``` */ export declare function Body(...pipes: PipeConstructor[]): ParameterDecorator; /** * Shorthand for validation pipe */ export declare function Validated(): ParameterDecorator; /** * Parameter pipes metadata */ interface ParamPipeMetadata { type: string; pipes: PipeConstructor[]; } /** * Get pipes for a method */ export declare function getPipeMetadata(target: object, propertyKey: string | symbol): PipeConstructor[]; /** * Get parameter pipes for a method */ export declare function getParamPipesMetadata(target: object, propertyKey: string | symbol): Record; /** * Check if a class is marked as a pipe */ export declare function isPipe(target: ClassConstructor): boolean; export {}; //# sourceMappingURL=pipe.decorator.d.ts.map