///
///
import { DataTable } from "@cucumber/cucumber";
import { ImageCompareContext } from "../enums";
import { IConfig } from "../../cli/interfaces";
import { IComponentMeta, IHttpRequest, IHttpResponse, IImageCompare, IImageSave, IJSONDiffOptions, IPageMeta, UnionToIntersection } from "../interfaces";
export declare const RETRY: {
wrapperOptions: {
retry: any;
};
};
export declare function mergeMeta(m1: T, m2: U, m3?: V, m4?: W, m5?: X, m6?: Y, m7?: Z): T & U & V & W & X;
export declare function getDataTableRows(table: DataTable, column?: number): string[];
export declare function getDataTableRows(table: DataTable, column: "all"): string[][];
export declare function getDataTableHashes(table: DataTable, toLower?: boolean): any[];
export declare function getMetaObject(meta: T, locale?: string): UnionToIntersection & T[keyof T];
export declare function getMetaProperty(metaKey: string, ...propTree: string[]): any;
export declare function getMetaUrl(meta: string): string;
export declare function getMetaTitle(meta: string): string;
export declare function getMetaElement(meta: string, key: string): string;
export declare function getJSONDiff(type: keyof IConfig["comparable"], filename: string, toCompare: any, options?: IJSONDiffOptions): string;
export declare function getImageFile(context: ImageCompareContext, filename: string, elem?: WebdriverIO.Element, options?: IImageCompare["options"]): IImageSave;
export declare function getImageDiff(filename: string, compare: IImageCompare): string;
export declare function isJSON(str: string): boolean;
export declare function sendSyncRequest(request: IHttpRequest): IHttpResponse;
/**
* Intended to churn out dynamic data, like dates.
* @param token see GHERKIN_TOKENS
* @returns the transformed data if it matches any tokens or the same string if it doesnt
*/
export declare function transformToken(token: string): string;
export declare function stringToObject(toParse: string, entrySeparator?: string, kvpSeparator?: string): any;