import { IAssertionError } from './AssertionError.js';
import { IHttpStep } from './HttpStep.js';
export declare enum AssertionEnum {
    equal = "equal",
    notEqual = "not-equal",
    greaterThan = "greater-than",
    greaterThanEqual = "greater-than-equal",
    lessThan = "less-than",
    lessThanEqual = "less-than-equal",
    contains = "contains",
    regex = "regex",
    ok = "ok",
    notOk = "notOk",
    toBe = "toBe",
    notToBe = "notToBe"
}
export declare enum TransformationEnum {
    /**
     * Transformation of the data that reads a value from the given path.
     * For example, for a body it can be xpath for XML or JSON path for JSON data.
     */
    readValue = "readValue",
    /**
     * Transforms the value from the previous step to a number.
     */
    asNumber = "asNumber",
    /**
     * Rounds the input value to a nearest numeric value.
     * If the value is not a number it tries to convert it to a number. When it
     * can't ba casted to a number then the transformation throws an error.
     */
    round = "round",
    /**
     * Transforms the value to a lowercase value.
     */
    toLowerCase = "toLowerCase",
    /**
     * Transforms the value to a uppercase value.
     */
    toUpperCase = "toUpperCase",
    /**
     * Trims the string value.
     */
    trim = "trim",
    /**
     * Transforms the part of the string from the start index up to and excluding the end index,
     * or to the end of the string if no end index is supplied.
     *
     * `substring(indexStart, indexEnd)`
     */
    substring = "substring"
}
export interface IHttpAssertion {
    /**
     * The description of the assertion reported to the UI.
     */
    description?: string;
    /**
     * The list of steps to perform. This is an ordered list of action tasks.
     * Each step is described by the `kind` property which tells the runner what action to perform.
     */
    steps: IHttpStep[];
    /**
     * Whether the assertions is enabled. By default it is enabled. It is only not enabled when this is set to false.
     */
    enabled?: boolean;
}
/**
 * An object representing a result of running a single assertion.
 */
export interface AssertionResult {
    /**
     * Indicates whether assertion result is positive (not failed) or negative (failed).
     */
    ok: boolean;
    /**
     * The description of the association.
     */
    description: string;
    /**
     * This is always set when `ok` is false.
     * This is also never set when `ok` is true.
     */
    error?: IAssertionError;
}
//# sourceMappingURL=HttpAssertion.d.ts.map