import { Type } from "@tsed/core";
import { PlatformRouteOptions, PlatformRouteWithoutHandlers } from "../../platform/interfaces/PlatformRouterMethods";
import { HandlerType } from "../interfaces/HandlerType";
import { ParamMetadata } from "../models/ParamMetadata";
export interface HandlerMetadataOptions {
    target: (Type<any> | Function) & {
        type?: HandlerType;
    };
    routeOptions?: PlatformRouteWithoutHandlers;
    token?: Type<any>;
    propertyKey?: string | symbol;
    type?: HandlerType;
}
export declare class HandlerMetadata {
    readonly target: any;
    readonly token: Type<any>;
    readonly propertyKey: string | symbol;
    readonly injectable: boolean;
    readonly type: HandlerType;
    readonly hasNextFunction: boolean;
    readonly routeOptions: Partial<PlatformRouteOptions>;
    handler: any;
    constructor(options: HandlerMetadataOptions);
    get hasErrorParam(): boolean;
    get parameters(): ParamMetadata[];
    getParams(): ParamMetadata[];
    hasParamType(paramType: any): boolean;
    isFinal(): boolean;
}
