///
///
import { type AttachmentOptions, type Label, type LabelName, type Link, type LinkType, type ParameterMode, type ParameterOptions, Status, type StatusDetails } from "../../model.js";
import type { RuntimeMessage } from "../types.js";
import type { TestRuntime } from "./types.js";
export declare abstract class BaseMessageTestRuntime implements TestRuntime {
label(name: LabelName | string, value: string): Promise;
labels(...labels: Label[]): Promise;
link(url: string, type?: LinkType | string, name?: string): Promise;
links(...links: Link[]): Promise;
parameter(name: string, value: string, options?: ParameterOptions): Promise;
description(markdown: string): Promise;
descriptionHtml(html: string): Promise;
displayName(name: string): Promise;
historyId(value: string): Promise;
testCaseId(value: string): Promise;
attachment(name: string, content: Buffer | Uint8Array | string, options: AttachmentOptions): Promise;
attachmentFromPath(name: string, path: string, options: AttachmentOptions): Promise;
globalAttachment(name: string, content: Buffer | Uint8Array | string, options: AttachmentOptions): Promise;
globalAttachmentFromPath(name: string, path: string, options: Omit): Promise;
globalError(details: StatusDetails): Promise;
logStep(name: string, status?: Status, error?: Error): Promise;
step(name: string, body: () => T | PromiseLike): Promise;
stepDisplayName(name: string): Promise;
stepParameter(name: string, value: string, mode?: ParameterMode): Promise;
abstract sendMessage(message: RuntimeMessage): Promise;
}
export declare abstract class MessageTestRuntime extends BaseMessageTestRuntime {
attachment(name: string, content: Buffer | Uint8Array | string, options: AttachmentOptions): Promise;
globalAttachment(name: string, content: Buffer | Uint8Array | string, options: AttachmentOptions): Promise;
}