import type { Data, Metadata, ReadonlyMetadataEventEmitter } from '../types'; export declare class MetadataDSL { #private; constructor(emitter: ReadonlyMetadataEventEmitter, metadata: () => Metadata); $Set: (path: string | readonly string[], value: unknown) => void; $Push: (path: string | readonly string[], ...values: unknown[]) => void; $Unshift: (path: string | readonly string[], ...values: unknown[]) => void; $Assign: (path: string | readonly string[] | undefined, value: Data) => void; $Defaults: (path: string | readonly string[] | undefined, value: Data) => void; $Merge: (path: string | readonly string[] | undefined, value: Data) => void; protected schedule(callback: () => void): void; }