import type { AggregatedIdentifier } from '../ids';
import type { InvocationMetadata } from '../types';
import { BaseMetadata } from './BaseMetadata';
import type { DescribeBlockMetadata } from './DescribeBlockMetadata';
import type { HookDefinitionMetadata } from './HookDefinitionMetadata';
import type { MetadataContext } from './MetadataContext';
import type { TestInvocationMetadata } from './TestInvocationMetadata';
type HookInvocationParentMetadata = DescribeBlockMetadata | TestInvocationMetadata;
export declare class HookInvocationMetadata<ParentMetadata extends HookInvocationParentMetadata = HookInvocationParentMetadata> extends BaseMetadata implements InvocationMetadata {
    readonly definition: HookDefinitionMetadata;
    readonly parent: ParentMetadata;
    constructor(context: MetadataContext, definition: HookDefinitionMetadata, parent: ParentMetadata, id: AggregatedIdentifier);
}
export {};
