import { Abstract, Type } from '../Support'; import { MiddlewareInterface } from './Middleware'; import { Http } from './Http'; import { Guard } from './Guard'; import { Container } from '@Typetron/Container'; export declare class MethodMetadata { middleware: Abstract[]; parametersTypes: (Type<(...args: any[]) => any> | FunctionConstructor)[]; name: string; parametersOverrides: ((container: Container) => any)[]; guards: typeof Guard[]; } export declare class ActionMetadata extends MethodMetadata { } export declare class RouteMetadata extends MethodMetadata { path: string; method: Http.Method; } export declare class ControllerOptions { prefix?: string; } declare const ControllerMetadata_base: { new (): {}; get(this: /*elided*/ any & import("../Support").Constructor, target: any, defaultValue?: T): T; set(this: /*elided*/ any & import("../Support").Constructor, metadata: T, target: any): T; }; export declare class ControllerMetadata extends ControllerMetadata_base { middleware: Abstract[]; routes: { [key: string]: RouteMetadata; }; actions: { [key: string]: ActionMetadata; }; methods: { [key: string]: MethodMetadata; }; guards: typeof Guard[]; } export {}; //# sourceMappingURL=Metadata.d.ts.map