/** * Metadata storage for decorators using Symbol.metadata (TC39 Stage 3) * Falls back to WeakMap for environments without Symbol.metadata */ import type { IControllerMetadata, IRouteMetadata } from './decorators.types.js'; import type { IInterceptOptions } from '../core/smartserve.interfaces.js'; /** * Get or create controller metadata for a class * Uses symbol property on the class itself for metadata storage */ export declare function getControllerMetadata(target: any): IControllerMetadata; /** * Get controller metadata from prototype (for instance lookup) */ export declare function getMetadataFromInstance(instance: any): IControllerMetadata | undefined; /** * Set base path for a controller */ export declare function setBasePath(target: any, path: string): void; /** * Add a route to a controller */ export declare function addRoute(target: any, methodName: string | symbol, route: Omit): void; /** * Add class-level interceptor */ export declare function addClassInterceptor(target: any, interceptor: IInterceptOptions): void; /** * Add method-level interceptor */ export declare function addMethodInterceptor(target: any, methodName: string | symbol, interceptor: IInterceptOptions): void; /** * Normalize path to ensure consistent format */ export declare function normalizePath(path: string): string; /** * Combine base path and route path */ export declare function combinePaths(basePath: string, routePath: string): string;