export declare namespace Metadata {
    type MetadataKey = string | symbol | number;
    export function requireMetadata<T>(symbol: MetadataKey, target: any, defaultValue?: T): T;
    export function requireOwnMetadata<T>(symbol: MetadataKey, target: any, defaultValue?: T): T;
    export function getMetadataMap(target: any): Map<MetadataKey, any>;
    export function setMetadata(symbol: MetadataKey, target: any, value: any): void;
    export function hasMetadata(symbol: MetadataKey, target: any): boolean;
    export function hasOwnMetadata(symbol: MetadataKey, target: any): boolean;
    export function getMetadata(symbol: MetadataKey, target: any): any;
    export function getOwnMetadata(symbol: MetadataKey | number, target: any): any;
    export function getMetadataKeys(target: any): MetadataKey[];
    export {};
}
export interface Metadata {
}
