export declare class Metadata { #private; symbol: symbol; /** * Metadata. * @param symbol Optional. Signature for this metadata. It will be set as the key in the target. */ constructor(symbol?: symbol); /** * Create metadata in the target. * @param target Target. * @param data Init metadata. */ create(target: any, data: T): void; /** * Get own metadata. * @param target Target. * @returns Metadata data or undefined. */ getOwn(target: any): T | undefined; /** * Get metadata in prototype chain. * @param target Target. * @returns Metadata data or undefined. */ get(target: any): T | undefined; /** * Get metadata array in prototype chain. * @param target Target. * @returns Metadata array to acient. */ getAll(target: any): T[]; /** * Set value in the own mdatadata. * Implement by `obtainOwn`. * @param target Target. * @param key Key. * @param value value. */ setValueOwn(target: any, key: K, value: T[K]): void; /** * Set value in the recent mdatadata in prototype chain. * Implement by `obtain`. * @param target Target. * @param key Key. * @param value value. */ setValue(target: any, key: K, value: T[K]): void; /** * Get value in the own metadata. * @param target Target. * @param key Key. * @returns */ getValueOwn(target: any, key: K): T[K]; /** * Get value in the recent mdatadata WHICH HAS THE KEY in prototype chain. * @param target Target. * @param key Key. */ getValue(target: any, key: K): T[K]; } //# sourceMappingURL=metadata.d.ts.map