import { type AnyObject } from '../../types/misc.js'; import type { ApiEndpoint } from '../endpoint.js'; import type { IEndpointInfo } from '../endpoint.types.js'; import { CallerHooks } from '../hooks.js'; export interface IEndpointInputValidation { readonly validate?: IEndpointInputValidation.Validator>; withValidation(validator: IEndpointInputValidation.Validator>): this; } export declare namespace IEndpointInputValidation { type Validator = (input: TIn) => Promise | void; const extender: ApiEndpoint.IBuilderExtender; function guard(api: IEndpointInfo): api is (IEndpointInfo & IEndpointInputValidation); function tryValidate(api: IEndpointInfo, input: AnyObject): void | Promise; function createHooks(): CallerHooks; }