/**
 * Auto-generated from step_v3.schema.json
 * Do not edit manually
 */
/**
 * A step in a test.
 */
export type Step = (Common & CheckLink) | (Common1 & Click) | (Common2 & Find) | (Common3 & GoTo) | (Common4 & HttpRequest) | (Common5 & RunShell) | (Common6 & RunCode) | (Common7 & Type) | (Common8 & Screenshot) | (Common9 & SaveCookie) | (Common10 & Record) | (Common11 & StopRecord) | (Common12 & LoadVariables) | (Common13 & DragAndDrop) | (Common14 & LoadCookie) | (Common15 & Wait);
export type CheckLink1 = CheckLinkDetailed | CheckLinkDetailed1;
/**
 * Check if an HTTP or HTTPS URL returns an acceptable status code from a GET request.
 */
export type CheckLinkDetailed = string;
/**
 * Headers to include in the HTTP request, as newline-separated values. For example, `X-Api-Key: abc123
 * Authorization: Bearer token`.
 */
export type RequestHeadersString = string;
/**
 * Click or tap an element.
 */
export type Click1 = ClickElementSimple | ClickElementDetailed | boolean;
/**
 * Identifier for the element to click. Can be a selector, element text, ARIA name, ID, or test ID.
 */
export type ClickElementSimple = string;
export type ClickElementDetailed = {
    [k: string]: unknown;
};
/**
 * Find an element based on display text or a selector, then optionally interact with it.
 */
export type Find1 = FindElementSimple | FindElementDetailed;
/**
 * Identifier for the element to find. Can be a selector, element text, ARIA name, ID, or test ID.
 */
export type FindElementSimple = string;
export type FindElementDetailed = {
    [k: string]: unknown;
};
export type GoTo1 = GoToURLSimple | GoToURLDetailed;
/**
 * Navigate to an HTTP or HTTPS URL. Can be a full URL or a path. If a path is provided, navigates relative to the current URL, if any.
 */
export type GoToURLSimple = string;
/**
 * Perform a generic HTTP request, for example to an API.
 */
export type HttpRequest1 = HTTPRequestSimple | HTTPRequestDetailed;
/**
 * URL for the HTTP request.
 */
export type HTTPRequestSimple = string;
export type HTTPRequestDetailed = {
    [k: string]: unknown;
};
/**
 * Perform a native shell command.
 */
export type RunShell1 = RunShellCommandSimple | RunShellCommandDetailed;
/**
 * Command to perform in the machine's default shell.
 */
export type RunShellCommandSimple = string;
/**
 * Assemble and run code.
 */
export type RunCode1 = RunCodeDetailed;
/**
 * Type keys. To type special keys, begin and end the string with `$` and use the special key's keyword. For example, to type the Escape key, enter `$ESCAPE$`.
 */
export type TypeKeys = TypeKeysSimple | TypeKeysDetailed;
/**
 * Sequence of keys to enter.
 */
export type TypeKeysSimple = string | string[];
/**
 * Sequence of keys to enter.
 */
export type TypeKeysSimple1 = string | string[];
/**
 * Takes a screenshot in PNG format.
 */
export type Screenshot1 = ScreenshotSimple | CaptureScreenshotDetailed | CaptureScreenshot;
/**
 * File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.
 */
export type ScreenshotSimple = string;
/**
 * File path of the PNG file. Accepts absolute paths. If not specified, the file name is the ID of the step. If an `http(s)` URL is supplied, the remote image is downloaded and used as a read-only reference for comparison; the new capture is written to a local run-specific folder instead of being uploaded back to the URL.
 */
export type ScreenshotSimple1 = string;
/**
 * Display text or selector of the element to screenshot.
 */
export type CropByElementSimple = string;
/**
 * Crop the screenshot to a specific element.
 */
export type CropByElementDetailed = {
    [k: string]: unknown;
};
/**
 * If `true`, captures a screenshot. If `false`, doesn't capture a screenshot.
 */
export type CaptureScreenshot = boolean;
/**
 * Save a specific browser cookie to a file or environment variable for later reuse.
 */
export type SaveCookie1 = CookieName | SaveCookieDetailed;
/**
 * Name of the specific cookie to save. Will be saved to a default file path or environment variable.
 */
export type CookieName = string;
export type SaveCookieDetailed = {
    [k: string]: unknown;
};
/**
 * Start recording. Must be followed by a `stopRecord` step. The `browser` engine captures the Chrome viewport (works under concurrency); the `ffmpeg` engine captures the screen and supports any application. Supported extensions: [ '.mp4', '.webm', '.gif' ]
 */
export type Record1 = RecordSimple | RecordDetailed | RecordBoolean;
/**
 * File path of the recording. Supports the `.mp4`, `.webm`, and `.gif` extensions. If not specified, the file name is the ID of the step, and the extension is `.mp4`.
 */
export type RecordSimple = string;
/**
 * Recording engine to use. Either a string shorthand selecting the engine with defaults, or an object for full control. If unset, defaults to the `browser` engine when a visible Chrome context is available and to `ffmpeg` otherwise.
 */
export type RecordingEngine = RecordingEngineSimple | RecordingEngineDetailed;
/**
 * `browser` records the Chrome viewport (concurrency-safe); `ffmpeg` records the screen and supports any application.
 */
export type RecordingEngineSimple = "browser" | "ffmpeg";
/**
 * If `true`, starts recording — auto-selecting the `browser` engine for a visible Chrome context and the `ffmpeg` engine otherwise. If `false`, doesn't record.
 */
export type RecordBoolean = boolean;
/**
 * Stop a recording started by an earlier `record` step. With no target (`true`/`null`), stops the most recently started recording that is still active (LIFO). To stop a specific recording when several overlap, target it by name with a string (`stopRecord: "<name>"`) or an object (`stopRecord: { name: "<name>" }`).
 */
export type StopRecord1 = StopRecordBoolean | StopRecordNull | StopRecordName | StopRecordDetailed;
/**
 * If `true`, stops the most recently started active recording (LIFO). If `false`, does nothing — an explicit no-op (mirrors `record: false`).
 */
export type StopRecordBoolean = boolean;
/**
 * Stops the most recently started active recording (LIFO).
 */
export type StopRecordNull = null;
/**
 * Name of the recording to stop. Matches the `name` given to a `record` step.
 */
export type StopRecordName = string;
/**
 * Load environment variables from the specified `.env` file.
 */
export type LoadVariables1 = string;
/**
 * Display text, selector, or regex pattern (enclosed in forward slashes) of the element.
 */
export type ElementSimple = string;
export type ElementDetailed = {
    [k: string]: unknown;
};
/**
 * Display text, selector, or regex pattern (enclosed in forward slashes) of the element.
 */
export type ElementSimple1 = string;
export type ElementDetailed1 = {
    [k: string]: unknown;
};
/**
 * Load a specific cookie from a file or environment variable into the browser.
 */
export type LoadCookie1 = CookieNameOrFilePath | LoadCookieDetailed;
/**
 * Name of the specific cookie to load from default location, or file path to cookie file.
 */
export type CookieNameOrFilePath = string;
export type LoadCookieDetailed = {
    [k: string]: unknown;
};
/**
 * Pause (in milliseconds) before performing the next action.
 */
export type Wait1 = WaitSimple | WaitEnvironmentVariable | WaitBoolean;
export type WaitSimple = number;
export type WaitEnvironmentVariable = string;
export type WaitBoolean = boolean;
export interface Common {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep;
    variables?: VariablesStep;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface CheckLink {
    checkLink: CheckLink1;
    [k: string]: unknown;
}
/**
 * Check if an HTTP or HTTPS URL returns an acceptable status code from a GET request.
 */
export interface CheckLinkDetailed1 {
    /**
     * URL to check. Can be a full URL or a path. If a path is provided, `origin` must be specified.
     */
    url: string;
    /**
     * Protocol and domain to navigate to. Prepended to `url`.
     */
    origin?: string;
    /**
     * Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.
     */
    params?: {
        [k: string]: string;
    };
    /**
     * Accepted status codes. If the specified URL returns a code other than what is specified here, the action fails.
     */
    statusCodes?: number | number[];
    /**
     * Additional HTTP headers to include in the request. Merged on top of Doc Detective's default browser-mimicking headers. Useful for sites behind bot protection or WAFs that allowlist specific headers (for example, a Cloudflare Access service token or a `Cookie` with a `cf_clearance` value).
     */
    headers?: RequestHeadersObject | RequestHeadersString;
}
/**
 * Headers to include in the HTTP request, in key/value format. Values must be strings.
 */
export interface RequestHeadersObject {
    [k: string]: string;
}
export interface Common1 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep1;
    variables?: VariablesStep1;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation1;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep1 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep1`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep1 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep1`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation1 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Click {
    click: Click1;
    [k: string]: unknown;
}
export interface Common2 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep2;
    variables?: VariablesStep2;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation2;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep2 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep2`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep2 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep2`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation2 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Find {
    find: Find1;
    [k: string]: unknown;
}
export interface Common3 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep3;
    variables?: VariablesStep3;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation3;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep3 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep3`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep3 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep3`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation3 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface GoTo {
    goTo: GoTo1;
    [k: string]: unknown;
}
/**
 * Navigate to an HTTP or HTTPS URL.
 */
export interface GoToURLDetailed {
    /**
     * URL to navigate to. Can be a full URL or a path. If a path is provided and `origin` is specified, prepends `origin` to `url`. If a path is provided but `origin` isn't specified, attempts to navigate relative to the current URL, if any.
     */
    url: string;
    /**
     * Protocol and domain to navigate to. Prepended to `url`.
     */
    origin?: string;
    /**
     * Query parameters to append to the resolved URL. Merged on top of `originParams` from config; step keys win on collision. If `url` already contains a colliding query key, the value here replaces it. Values support environment variable substitution via `$VAR` syntax. WARNING: values are embedded in the request URL and appear in test results, logs, and reports.
     */
    params?: {
        [k: string]: string;
    };
    /**
     * Maximum time in milliseconds to wait for the page to be ready. If exceeded, the goTo action fails.
     */
    timeout?: number;
    /**
     * Configuration for waiting conditions after navigation.
     */
    waitUntil?: {
        /**
         * Wait for network activity to be idle (no new requests) for this duration in milliseconds. Set to `null` to skip this check.
         */
        networkIdleTime?: number | null;
        /**
         * Wait for DOM mutations to stop for this duration in milliseconds. Set to `null` to skip this check.
         */
        domIdleTime?: number | null;
        /**
         * Wait for a specific element to be present in the DOM. At least one of selector or elementText must be specified.
         */
        find?: {
            [k: string]: unknown;
        };
    };
}
export interface Common4 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep4;
    variables?: VariablesStep4;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation4;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep4 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep4`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep4 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep4`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation4 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface HttpRequest {
    httpRequest: HttpRequest1;
    [k: string]: unknown;
}
export interface Common5 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep5;
    variables?: VariablesStep5;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation5;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep5 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep5`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep5 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep5`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation5 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface RunShell {
    runShell: RunShell1;
    [k: string]: unknown;
}
export interface RunShellCommandDetailed {
    /**
     * Command to perform in the machine's default shell.
     */
    command: string;
    /**
     * Arguments for the command.
     */
    args?: string[];
    /**
     * Working directory for the command.
     */
    workingDirectory?: string;
    /**
     * Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.
     */
    exitCodes?: number[];
    /**
     * Content expected in the command's stdout or stderr. If the expected content can't be found in the command's stdout or stderr, the step fails. Supports strings and regular expressions. To use a regular expression, the string must start and end with a forward slash, like in `/^hello-world.* /`.
     */
    stdio?: string;
    /**
     * File path to save the command's output, relative to `directory`.
     */
    path?: string;
    /**
     * Directory to save the command's output. If the directory doesn't exist, creates the directory. If not specified, the directory is your media directory.
     */
    directory?: string;
    /**
     * Allowed variation as a fraction (0 to 1) of text different between the current output and previously saved output. For example, 0.1 means 10%. If the difference between the current output and the previous output is greater than `maxVariation`, the step fails. If output doesn't exist at `path`, this value is ignored.
     */
    maxVariation?: number;
    /**
     * If `true`, overwrites the existing output at `path` if it exists.
     * If `aboveVariation`, overwrites the existing output at `path` if the difference between the new output and the existing output is greater than `maxVariation`.
     */
    overwrite?: "true" | "false" | "aboveVariation";
    /**
     * Max time in milliseconds the command is allowed to run. If the command runs longer than this, the step fails.
     */
    timeout?: number;
}
export interface Common6 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep6;
    variables?: VariablesStep6;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation6;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep6 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep6`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep6 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep6`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation6 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface RunCode {
    runCode: RunCode1;
    [k: string]: unknown;
}
export interface RunCodeDetailed {
    /**
     * Language of the code to run.
     */
    language: "python" | "bash" | "javascript";
    /**
     * Code to run.
     */
    code: string;
    /**
     * Arguments for the command.
     */
    args?: string[];
    /**
     * Working directory for the command.
     */
    workingDirectory?: string;
    /**
     * Expected exit codes of the command. If the command's actual exit code isn't in this list, the step fails.
     */
    exitCodes?: number[];
    /**
     * Content expected in the command's output. If the expected content can't be found in the command's output (either stdout or stderr), the step fails. Supports strings and regular expressions. To use a regular expression, the string must start and end with a forward slash, like in `/^hello-world.* /`.
     */
    stdio?: string;
    /**
     * File path to save the command's output, relative to `directory`.
     */
    path?: string;
    /**
     * Directory to save the command's output. If the directory doesn't exist, creates the directory. If not specified, the directory is your media directory.
     */
    directory?: string;
    /**
     * Allowed variation as a fraction (0 to 1) of text different between the current output and previously saved output. For example, 0.1 means 10%. If the difference between the current output and the previous output is greater than `maxVariation`, the step fails. If output doesn't exist at `path`, this value is ignored.
     */
    maxVariation?: number;
    /**
     * If `true`, overwrites the existing output at `path` if it exists.
     * If `aboveVariation`, overwrites the existing output at `path` if the difference between the new output and the existing output is greater than `maxVariation`.
     */
    overwrite?: "true" | "false" | "aboveVariation";
    /**
     * Max time in milliseconds the command is allowed to run. If the command runs longer than this, the step fails.
     */
    timeout?: number;
    [k: string]: unknown;
}
export interface Common7 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep7;
    variables?: VariablesStep7;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation7;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep7 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep7`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep7 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep7`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation7 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Type {
    type: TypeKeys;
    [k: string]: unknown;
}
export interface TypeKeysDetailed {
    keys: TypeKeysSimple1;
    /**
     * Delay in milliseconds between each key press during a recording
     */
    inputDelay?: number;
    /**
     * Selector for the element to type into. If not specified, the typing occurs in the active element.
     */
    selector?: string;
    /**
     * Display text of the element to type into. If combined with other element finding fields, the element must match all specified criteria.
     */
    elementText?: string;
    /**
     * ID attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax.
     */
    elementId?: string;
    /**
     * data-testid attribute of the element to find. Supports exact match or regex pattern using /pattern/ syntax.
     */
    elementTestId?: string;
    /**
     * Class or array of classes that the element must have. Each class supports exact match or regex pattern using /pattern/ syntax. Element must have all specified classes.
     */
    elementClass?: string | string[];
    /**
     * Object of attribute key-value pairs that the element must have. Values can be strings (supporting /pattern/ regex), numbers, or booleans. Boolean true matches attribute presence, false matches absence.
     */
    elementAttribute?: {
        [k: string]: string | number | boolean;
    };
    /**
     * Computed accessible name of the element per ARIA specification. Supports exact match or regex pattern using /pattern/ syntax.
     */
    elementAria?: string;
}
export interface Common8 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep8;
    variables?: VariablesStep8;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation8;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep8 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep8`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep8 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep8`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation8 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Screenshot {
    screenshot: Screenshot1;
    [k: string]: unknown;
}
export interface CaptureScreenshotDetailed {
    path?: ScreenshotSimple1;
    /**
     * Directory of the PNG file. If the directory doesn't exist, creates the directory.
     */
    directory?: string;
    /**
     * Allowed variation in percentage of pixels between the new screenshot and the existing screenshot at `path`. If the difference between the new screenshot and the existing screenshot is greater than `maxVariation`, the step fails. If a screenshot doesn't exist at `path`, this value is ignored.
     */
    maxVariation?: number;
    /**
     * If `true`, overwrites the existing screenshot at `path` if it exists.
     * If `aboveVariation`, overwrites the existing screenshot at `path` if the difference between the new screenshot and the existing screenshot is greater than `maxVariation`.
     */
    overwrite?: "true" | "false" | "aboveVariation";
    crop?: CropByElementSimple | CropByElementDetailed;
    sourceIntegration?: SourceIntegration;
}
/**
 * Information about the source integration for this screenshot, enabling upload of changed files back to the source CMS. Set automatically during test resolution for files from integrations.
 */
export interface SourceIntegration {
    /**
     * The type of integration. Currently supported: 'heretto'. Additional types may be added in the future.
     */
    type: "heretto";
    /**
     * The name of the integration configuration in the config file. Used to look up authentication credentials.
     */
    integrationName: string;
    /**
     * The unique identifier (UUID) of the file in the source CMS. If not provided, the file will be looked up by path.
     */
    fileId?: string;
    /**
     * The path of the file in the source CMS. Used for lookup if fileId is not available.
     */
    filePath?: string;
    /**
     * The local path to the file that references this source. Used for resolving relative paths.
     */
    contentPath?: string;
}
export interface Common9 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep9;
    variables?: VariablesStep9;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation9;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep9 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep9`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep9 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep9`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation9 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface SaveCookie {
    saveCookie: SaveCookie1;
    [k: string]: unknown;
}
export interface Common10 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep10;
    variables?: VariablesStep10;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation10;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep10 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep10`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep10 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep10`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation10 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Record {
    record: Record1;
    [k: string]: unknown;
}
export interface RecordDetailed {
    /**
     * File path of the recording. Supports the `.mp4`, `.webm`, and `.gif` extensions. If not specified, the file name is the ID of the step, and the extension is `.mp4`.
     */
    path?: string;
    /**
     * Directory of the file. If the directory doesn't exist, creates the directory.
     */
    directory?: string;
    /**
     * If `true`, overwrites the existing recording at `path` if it exists.
     */
    overwrite?: "true" | "false";
    /**
     * Identifier for this recording. A later `stopRecord` step can target it by name (`stopRecord: "<name>"`), which is how you stop a specific recording when several overlap. Names must be unique among recordings that are active at the same time. If omitted, the recording is anonymous and is stopped LIFO by an untargeted `stopRecord`.
     */
    name?: string;
    engine?: RecordingEngine;
    [k: string]: unknown;
}
export interface RecordingEngineDetailed {
    /**
     * Recording engine. `browser` records the Chrome viewport (concurrency-safe); `ffmpeg` records the screen and supports any application.
     */
    name: "browser" | "ffmpeg";
    /**
     * What the `ffmpeg` engine captures. `display` records the full screen, `window` the active window, `viewport` the browser content area. Ignored by the `browser` engine, which always captures its tab. `window` and `viewport` are best-effort (captured full-screen, then cropped).
     */
    target?: "display" | "window" | "viewport";
    /**
     * Capture frame rate for the `ffmpeg` engine.
     */
    fps?: number;
}
export interface Common11 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep11;
    variables?: VariablesStep11;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation11;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep11 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep11`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep11 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep11`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation11 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface StopRecord {
    stopRecord: StopRecord1;
    [k: string]: unknown;
}
export interface StopRecordDetailed {
    /**
     * Name of the recording to stop. Matches the `name` given to a `record` step.
     */
    name: string;
}
export interface Common12 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep12;
    variables?: VariablesStep12;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation12;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep12 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep12`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep12 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep12`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation12 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface LoadVariables {
    loadVariables: LoadVariables1;
    [k: string]: unknown;
}
export interface Common13 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep13;
    variables?: VariablesStep13;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation13;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep13 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep13`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep13 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep13`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation13 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface DragAndDrop {
    dragAndDrop: DragAndDrop1;
    [k: string]: unknown;
}
/**
 * Drag and drop an element from source to target.
 */
export interface DragAndDrop1 {
    /**
     * The element to drag.
     */
    source: ElementSimple | ElementDetailed;
    /**
     * The target location to drop the element.
     */
    target: ElementSimple1 | ElementDetailed1;
    /**
     * Duration of the drag operation in milliseconds.
     */
    duration?: number;
    [k: string]: unknown;
}
export interface Common14 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep14;
    variables?: VariablesStep14;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation14;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep14 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep14`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep14 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep14`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation14 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface LoadCookie {
    loadCookie: LoadCookie1;
    [k: string]: unknown;
}
export interface Common15 {
    /**
     * JSON Schema for this object.
     */
    $schema?: "https://raw.githubusercontent.com/doc-detective/common/refs/heads/main/dist/schemas/step_v3.schema.json";
    /**
     * ID of the step.
     */
    stepId?: string;
    /**
     * Description of the step.
     */
    description?: string;
    /**
     * Whether or not the step may be unsafe. Unsafe steps may perform actions that could modify the system or environment in unexpected ways. Unsafe steps are only performed within Docker containers or if unsafe steps are enabled with the `allowUnsafeSteps` config property or the `--allow-unsafe` flag.
     */
    unsafe?: boolean;
    outputs?: OutputsStep15;
    variables?: VariablesStep15;
    /**
     * Whether or not this step should act as a breakpoint when debugging is enabled. When `true`, execution will pause at this step when debug mode is enabled.
     */
    breakpoint?: boolean;
    location?: SourceLocation15;
    /**
     * Path, relative to the run's artifact directory (the report's `runDir`), of the screenshot captured automatically after this step. Always a non-empty, forward-slash, relative path. Present only in test results, when `autoScreenshot` is enabled and the capture succeeded. This is system-populated metadata and should not be set manually.
     */
    autoScreenshot?: string;
    [k: string]: unknown;
}
/**
 * Outputs from step processes and user-defined expressions. Use the `outputs` object to reference outputs in subsequent steps. If a user-defined output matches the key for a step-defined output, the user-defined output takes precedence.
 */
export interface OutputsStep15 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `OutputsStep15`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Environment variables to set from user-defined expressions.
 */
export interface VariablesStep15 {
    /**
     * Runtime expression for a user-defined output value.
     *
     * This interface was referenced by `VariablesStep15`'s JSON-Schema definition
     * via the `patternProperty` "^[A-Za-z0-9_]+$".
     */
    [k: string]: string;
}
/**
 * Source location where this step was detected in the original file. This is system-populated metadata and should not be set manually.
 */
export interface SourceLocation15 {
    /**
     * 1-indexed line number in the source file where the step was detected.
     */
    line: number;
    /**
     * 0-indexed character offset from the start of the source file where the step begins.
     */
    startIndex: number;
    /**
     * 0-indexed character offset from the start of the source file where the step ends (exclusive).
     */
    endIndex: number;
}
export interface Wait {
    wait: Wait1;
    [k: string]: unknown;
}
//# sourceMappingURL=step_v3.d.ts.map