///
import { AllureRuntime } from "./AllureRuntime.js";
import { AttachmentMetadata, ContentType, ExecutableItem, MetadataMessage, ParameterOptions, StepMetadata } from "./model.js";
export type StepBodyFunction = (this: AllureCommandStepExecutable, step: AllureCommandStepExecutable) => T | Promise;
export interface AllureCommandStep {
name: string;
attachments: AttachmentMetadata[];
metadata: T;
label(label: string, value: string): void | Promise;
link(url: string, name?: string, type?: string): void | Promise;
parameter(name: string, value: string, options?: ParameterOptions): void | Promise;
epic(epic: string): void | Promise;
feature(feature: string): void | Promise;
story(story: string): void | Promise;
suite(name: string): void | Promise;
parentSuite(name: string): void | Promise;
subSuite(name: string): void | Promise;
owner(owner: string): void | Promise;
severity(severity: string): void | Promise;
tag(tag: string): void | Promise;
issue(issue: string, url: string): void | Promise;
tms(issue: string, url: string): void | Promise;
attach(name: string, content: Buffer | string, options: ContentType | string): void | Promise;
description(content: string): void | Promise;
}
export declare class AllureCommandStepExecutable implements AllureCommandStep {
name: string;
attachments: AttachmentMetadata[];
metadata: MetadataMessage;
constructor(name: string);
static toExecutableItem(runtime: AllureRuntime, stepMetadata: StepMetadata): ExecutableItem;
label(label: string, value: string): void;
link(url: string, name?: string, type?: string): void;
parameter(name: string, value: any, options?: ParameterOptions): void;
epic(epic: string): void;
feature(feature: string): void;
story(story: string): void;
suite(name: string): void;
parentSuite(name: string): void;
subSuite(name: string): void;
owner(owner: string): void;
severity(severity: string): void;
tag(tag: string): void;
issue(name: string, url: string): void;
tms(name: string, url: string): void;
attach(content: string | Buffer, type: string): void;
description(content: string): void;
step(name: string, body: StepBodyFunction): Promise;
start(body: StepBodyFunction): Promise;
run(body: StepBodyFunction, messageEmitter: (message: MetadataMessage) => Promise): Promise;
}