import type { ReferencedEntity } from '../types';
export type ReferencedEntityType = ReferencedEntity['type'];
export interface EntityDescriptor {
    type: ReferencedEntityType;
    paramKey: string;
    label: string;
    idFieldKeys: string[];
    drillDownStrategy?: string;
}
export type EntityCaptureKind = 'frame' | 'session' | 'cpu_slice' | 'binder' | 'gc' | 'memory';
export declare function getEntityDescriptor(type: ReferencedEntityType): EntityDescriptor;
export declare function getEntityParamKey(type: ReferencedEntityType): string;
export declare function getEntityLabel(type: ReferencedEntityType): string;
export declare function getEntityIdFieldKeys(type: ReferencedEntityType): string[];
export declare function getEntityDrillDownStrategy(type: ReferencedEntityType): string | undefined;
export declare function buildEntityLabel(type: ReferencedEntityType, entityId: unknown): string;
export declare function getCaptureStepPatterns(kind: EntityCaptureKind): readonly string[];
export declare function resolveCaptureEntityKindByStepId(stepId: string, matchMode?: 'exact' | 'contains'): EntityCaptureKind | null;
//# sourceMappingURL=entityRegistry.d.ts.map