export declare function isThenEventListenerStatement(block: ThenStatement): block is ThenEventListenerStatement; export declare type GivenBlock = { props: { [key: string]: string | object; }; events: { [key: string]: CustomEventInit | any; }; }; export declare type StatementType = "userAction" | "query" | "eventListener"; export declare type UserActionType = "type" | "click"; export declare type QueryType = "getByLabelText" | "getByText" | "getByRole"; export declare type UserActionStatement = WhenStatement & { type: "userAction"; action: UserActionType; }; export declare type QueryStatement = WhenStatement & { type: "query"; action: QueryType; }; export declare type WhenStatement = { type: StatementType; args: any[]; }; export declare type WhenBlock = WhenStatement[]; export declare type ThenEventListenerStatement = ThenStatement & { type: "eventListener"; name: string; }; export declare type ThenStatement = { type: StatementType; assert: (...args: any[]) => void; }; export declare type ThenBlock = ThenStatement[]; export declare type ContractIdentifier = { provider: string; consumer: string; element: string; }; export declare type Definition = ContractIdentifier & { given: GivenBlock; when: WhenBlock; then: ThenBlock; };