import { AnyMockDescriptorType } from '@contract-case/case-entities-internal';
import { MatchContext, CaseExample } from '@contract-case/case-plugin-base';
import { BaseCaseContract } from './BaseCaseContract';
import type { TestInvoker } from './executeExample/types';
import type { CaseConfig, WriterDependencies } from './types';
import { CaseContractDescription } from '../entities/types';
export declare class WritingCaseContract extends BaseCaseContract {
    private testIndex;
    private mutex;
    private dependencies;
    constructor(description: CaseContractDescription, dependencies: WriterDependencies, config: CaseConfig, parentVersions: Array<string>);
    executeTest<T extends AnyMockDescriptorType, R>({ states, mockDescription, trigger, testResponse, triggers, testErrorResponse, triggerAndTest, triggerAndTests, stateHandlers, }: TestInvoker<T, R>, runConfig: CaseConfig): Promise<unknown>;
    recordExample(example: CaseExample, currentContext: MatchContext): CaseExample;
    endRecord(): Promise<void>;
}
//# sourceMappingURL=WritingCaseContract.d.ts.map