import type { AnyStandardType, AnyType, ArrayType } from "./schemas";
import { TypeInfo } from "./TypeChecker";
/**
 * A type that represents an tuple of values of a given type.
 *
 * Example:
 * ```ts
 * const stringNumberTupleType = types.tuple(types.string, types.number)
 * ```
 *
 * @typeparam T Item types.
 * @param itemType Type of inner items.
 * @returns
 */
export declare function typesTuple<T extends AnyType[]>(...itemTypes: T): ArrayType<T>;
/**
 * `types.tuple` type info.
 */
export declare class TupleTypeInfo extends TypeInfo {
    readonly itemTypes: ReadonlyArray<AnyStandardType>;
    private _itemTypeInfos;
    get itemTypeInfos(): ReadonlyArray<TypeInfo>;
    constructor(thisType: AnyStandardType, itemTypes: ReadonlyArray<AnyStandardType>);
}
