import type { AggregatedIdentifier } from '../ids';
import * as symbols from '../symbols';
import { BaseMetadata } from './BaseMetadata';
import type { DescribeBlockMetadata } from './DescribeBlockMetadata';
import type { GlobalMetadata } from './GlobalMetadata';
import type { HookInvocationMetadata } from './HookInvocationMetadata';
import type { MetadataContext } from './MetadataContext';
import type { TestEntryMetadata } from './TestEntryMetadata';
import type { TestFnInvocationMetadata } from './TestFnInvocationMetadata';
import type { TestInvocationMetadata } from './TestInvocationMetadata';
export declare class TestFileMetadata extends BaseMetadata {
    readonly globalMetadata: GlobalMetadata;
    [symbols.rootDescribeBlock]: DescribeBlockMetadata | undefined;
    [symbols.lastTestEntry]: TestEntryMetadata | undefined;
    [symbols.currentMetadata]: BaseMetadata;
    readonly current: import("..").MetadataSelector;
    constructor(context: MetadataContext, id: AggregatedIdentifier, globalMetadata: GlobalMetadata);
    get rootDescribeBlock(): DescribeBlockMetadata | undefined;
    get lastTestEntry(): TestEntryMetadata | undefined;
    [symbols.addDescribeBlock](id: AggregatedIdentifier): DescribeBlockMetadata;
    [symbols.start](): void;
    [symbols.finish](): void;
    allDescribeBlocks(): IterableIterator<DescribeBlockMetadata>;
    allTestEntries(): IterableIterator<TestEntryMetadata>;
    allInvocations(): IterableIterator<HookInvocationMetadata | TestFnInvocationMetadata>;
    allTestInvocations(): IterableIterator<TestInvocationMetadata>;
}
