import { AllowedNames } from "../types"; type ObjectKey = (string | symbol | number); export interface RegisterDecorator { (target: O, property: AllowedNames, descriptor?: PropertyDescriptor): any; get_registry(target: any): Record; get_keys(target: any): ObjectKey[]; registry_symbol: Symbol; } export interface ArgRegisterDecorator { (...args: R): ((target: O, property: AllowedNames, descriptor?: PropertyDescriptor) => any); get_registry(target: any): Record; get_keys(target: any): ObjectKey[]; registry_symbol: Symbol; } export declare function create_arg_registering_decorator(): ArgRegisterDecorator; export declare function create_arg_registering_decorator(transformer: (key: symbol | string, ...args: R) => P): ArgRegisterDecorator; export declare function create_registering_decorator(): RegisterDecorator; export {};