import type { GlobalMetadata, DescribeBlockMetadata, HookDefinitionMetadata, HookInvocationMetadata, TestFileMetadata, TestEntryMetadata, TestFnInvocationMetadata, TestInvocationMetadata } from '../containers'; import type { Metadata } from '../types'; import type { MetadataChecker } from './MetadataChecker'; type Constructor = new (...args: any[]) => T; export type InstanceOfMetadataCheckerConfig = { GlobalMetadata: Constructor; DescribeBlockMetadata: Constructor; HookDefinitionMetadata: Constructor; TestEntryMetadata: Constructor; HookInvocationMetadata: Constructor; TestInvocationMetadata: Constructor; TestFnInvocationMetadata: Constructor; TestFileMetadata: Constructor; }; export declare class InstanceOfMetadataChecker implements MetadataChecker { private readonly config; constructor(config: InstanceOfMetadataCheckerConfig); isGlobalMetadata(metadata: Metadata | undefined): metadata is GlobalMetadata; isTestFileMetadata(metadata: Metadata | undefined): metadata is TestFileMetadata; isDescribeBlockMetadata(metadata: Metadata | undefined): metadata is DescribeBlockMetadata; isHookDefinitionMetadata(metadata: Metadata | undefined): metadata is HookDefinitionMetadata; isTestEntryMetadata(metadata: Metadata | undefined): metadata is TestEntryMetadata; isHookInvocationMetadata(metadata: Metadata | undefined): metadata is HookInvocationMetadata; isTestInvocationMetadata(metadata: Metadata | undefined): metadata is TestInvocationMetadata; isTestFnInvocationMetadata(metadata: Metadata | undefined): metadata is TestFnInvocationMetadata; asTestInvocationMetadata(metadata: Metadata | undefined): TestInvocationMetadata; asDescribeBlockMetadata(metadata: Metadata | undefined): DescribeBlockMetadata; asTestFileMetadata(metadata: Metadata | undefined): TestFileMetadata; asTestEntryMetadata(metadata: Metadata | undefined): TestEntryMetadata; asGlobalMetadata(metadata: Metadata | undefined): GlobalMetadata; private _assert; } export {};