import { HTTPVerb } from "./HTTPVerb"; import { IHandlerParamDecorator } from "./decorator/ApiGatewayInvokeDecorator"; import { IAuthorizer } from "./IAuthorizer"; export interface IRouterResourceRegistration { handlers: Array<{ path: string; propertyKey: string; verb: HTTPVerb; }>; params: { [name: string]: IHandlerParamDecorator[]; }; restrictions: { [name: string]: [IAuthorizer, string]; }; target: object; } export declare class RouterResourceRegistry { static registerHandler(verb: HTTPVerb, paths: string[], target: object, propertyKey: string): void; static markRestricted(authorizer: IAuthorizer, target: object, propertyKey: string, endpointGroupOrId?: string): void; static registerParam(param: IHandlerParamDecorator): void; static find(resource: object): IRouterResourceRegistration; private static registrations; private static getRegistrationByTarget; }