import { Parser } from './Parser';
/**
 * Construct parsers for tuples.
 * If the `data` has more elements than expected, the extra elements are omitted from the result.
 * @example
 * Parse 2D coordinates:
 * ```ts
 * const parseVector2 = tuple([parseNumber, parseNumber])
 * parseVector2([12.5, 45.0]) // -> ParseSuccess<[number, number]>
 * ```
 * @example
 * Declare the type explicitly with type arguments:
 * ```ts
 * const parseVector2 = tuple<[number, number]>([parseNumber, parseNumber])
 * parseVector2([12.5, 45.0]) // -> ParseSuccess<[number, number]>
 * ```
 * @param parsers an array of parsers. Each parser validates the corresponding element in the data tuple.
 * @returns a parser that validates tuples.
 */
export declare const tuple: <T extends readonly [...unknown[]]>(parsers: [...{ [K in keyof T]: Parser<T[K]>; }]) => Parser<T>;
