/**
 * Validates data source params, infers format if not specified explicitly,
 * returns a complete DataSource params object.
 *
 * @param {import("../../spec/data.js").DataSource} params
 *      DataSource parameters
 * @param {string | string[]} [urls]
 */
export function getFormat(params: import("../../spec/data.js").DataSource, urls?: string | string[]): {
    type?: "csv" | "tsv";
    columns?: string[];
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type?: "dsv";
    delimiter: string;
    columns?: string[];
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type?: "json";
    property?: string;
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type: "bed";
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type: "bedpe";
    columns?: string[];
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type: string;
    parse?: import("../../spec/data.js").Parse | null;
};
/**
 * Vega's DSV readers support synthetic header rows via `format.header`.
 * GenomeSpy exposes the user-facing option as `format.columns`.
 *
 * @param {import("../../spec/data.js").DataFormat} format
 */
export function toVegaLoaderFormat(format: import("../../spec/data.js").DataFormat): {
    type?: "csv" | "tsv";
    columns?: string[];
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type?: "dsv";
    delimiter: string;
    columns?: string[];
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type?: "json";
    property?: string;
    parse?: import("../../spec/data.js").Parse | null;
} | {
    type: string;
    parse?: import("../../spec/data.js").Parse | null;
};
/**
 * @param {string} type
 * @returns {string}
 */
export function responseType(type: string): string;
/**
 * @param {string | string[]} url
 */
export function extractTypeFromUrl(url: string | string[]): string;
/**
 * @param {string} url
 */
export function hasGzipExtension(url: string): boolean;
/**
 * @param {import("../../spec/data.js").DataFormat} dataFormat
 * @return {dataFormat is import("../../spec/data.js").CsvDataFormat}
 */
export function isCsvDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").CsvDataFormat;
/**
 * @param {import("../../spec/data.js").DataFormat} dataFormat
 * @return {dataFormat is import("../../spec/data.js").DsvDataFormat}
 */
export function isDsvDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").DsvDataFormat;
/**
 * @param {import("../../spec/data.js").DataFormat} dataFormat
 * @return {dataFormat is import("../../spec/data.js").JsonDataFormat}
 */
export function isJsonDataFormat(dataFormat: import("../../spec/data.js").DataFormat): dataFormat is import("../../spec/data.js").JsonDataFormat;
/**
 *
 * @param {import("../../spec/data.js").DataSource} dataSource
 * @return {dataSource is import("../../spec/data.js").UrlData}
 */
export function isUrlData(dataSource: import("../../spec/data.js").DataSource): dataSource is import("../../spec/data.js").UrlData;
/**
 * @param {string | undefined} type
 */
export function isAutoParseFormat(type: string | undefined): boolean;
export function makeWrapper(d: any): ((x: import("../../spec/channel.js").Scalar) => {
    data: import("../../spec/channel.js").Scalar;
}) | ((x: import("../flowNode.js").Datum) => import("../flowNode.js").Datum);
//# sourceMappingURL=dataUtils.d.ts.map