import { MaybeForwardRef } from "./tokens.js"; import { ParamFlags, InjectableMetadata, InjectionMetadata } from "./types.js"; export declare const META: { readonly INJECTABLE: symbol; readonly SCOPE: symbol; readonly PARAM_TOKENS: symbol; readonly PARAM_FLAGS: symbol; readonly PROP_TOKENS: symbol; readonly PROP_FLAGS: symbol; readonly INJECTABLE_METADATA: symbol; readonly INJECTION_METADATA: symbol; readonly MODULE: symbol; readonly CONTROLLER: symbol; readonly INTERFACES: symbol; readonly AUTO_REGISTER: symbol; readonly PRIORITY: symbol; readonly CONDITION: symbol; readonly TRANSFORM: symbol; readonly VALIDATORS: symbol; readonly HOOKS: symbol; }; export type ClassMeta = { scope?: string; priority?: number; condition?: (container: any) => boolean; autoRegister?: boolean; interfaces?: any[]; }; export declare function setInjectable(target: any, opts?: InjectableMetadata): void; export declare function isInjectable(target: any): boolean; export declare function getInjectableMetadata(target: any): InjectableMetadata; export declare function getDeclaredScope(target: any): string | undefined; export declare function getPriority(target: any): number | undefined; export declare function getCondition(target: any): ((container: any) => boolean) | undefined; export declare function getAutoRegister(target: any): boolean; export declare function getInterfaces(target: any): any[]; export declare function addParamToken(target: any, index: number, token: MaybeForwardRef): void; export declare function getParamTokens(target: any): Map; export declare function addParamFlags(target: any, index: number, flags: ParamFlags): void; export declare function getParamFlags(target: any): Map; export declare function addPropToken(target: any, key: string | symbol, token: MaybeForwardRef): void; export declare function getPropTokens(target: any): Map; export declare function addPropFlags(target: any, key: string | symbol, flags: ParamFlags): void; export declare function getPropFlags(target: any): Map; export declare function setInjectionMetadata(target: any, key: string | symbol | number, metadata: InjectionMetadata): void; export declare function getInjectionMetadata(target: any, key: string | symbol | number): InjectionMetadata; export declare function setModule(target: any, metadata: any): void; export declare function getModule(target: any): any; export declare function setController(target: any): void; export declare function isController(target: any): boolean; export declare function addValidator(target: any, validator: (instance: any) => boolean | string): void; export declare function getValidators(target: any): ((instance: any) => boolean | string)[]; export declare function addHook(target: any, hook: string, handler: (instance: any) => void | Promise): void; export declare function getHooks(target: any, hook: string): ((instance: any) => void | Promise)[]; export declare function getAllMetadata(target: any): Record; //# sourceMappingURL=metadata.d.ts.map