import { GherkinCommentHandler } from "../common";
import { GherkinStep, GherkinLocation } from "../gherkinObject";
import { Comment } from "./comment";
import { DataTable } from "./dataTable";
import { DocString } from "./docString";
import { UniqueObject } from "./uniqueObject";
export type Argument = DataTable | DocString;
/**
 * Model for Step
 */
export declare class Step extends UniqueObject {
    static parse(obj: GherkinStep, comments?: GherkinCommentHandler, prevStepLocation?: GherkinLocation): Step;
    static parseAll(obj: GherkinStep[], comments?: GherkinCommentHandler): Step[];
    /** Keyword of the Step */
    keyword: "Given" | "When" | "Then" | "And" | "But" | "*" | string;
    /** Text of the Step */
    text: string;
    /** CDataTable of the Step */
    dataTable: DataTable;
    /** DocString of the Step */
    docString: DocString;
    /** Comment before the Step */
    comment: Comment;
    constructor(keyword: string, text: string);
    clone(): Step;
    replace(key: RegExp | string, value: string): void;
}
