import type { ReadonlyEmitter } from '../../types';
import type { AggregatedIdentifier } from '../ids';
import type { Metadata } from '../types';
import type { FileMetadataRegistry } from './FileMetadataRegistry';
export type MetadataRegisterEvent = {
    type: 'register_metadata';
    metadata: Metadata;
};
export declare class GlobalMetadataRegistry implements FileMetadataRegistry<AggregatedIdentifier> {
    private readonly emitter;
    private readonly scopes;
    private readonly root;
    get events(): ReadonlyEmitter<MetadataRegisterEvent>;
    get(scopedId: AggregatedIdentifier): Metadata;
    register(scopedId: AggregatedIdentifier, metadata: Metadata): void;
    all(): IterableIterator<Metadata>;
}
