import Compound from './compound'; import Nillable from './nillable'; import Nullable from './nullable'; import Optional from './optional'; import type { TupleState, FunctionMaybe, Infer, Schema, Traverser } from '../types'; declare class Tuple extends Compound> { filter(value: unknown, defaultable: false, quiet: true): boolean; filter(value: unknown, defaultable?: boolean, quiet?: false): T; filter(value: unknown, defaultable?: boolean, quiet?: boolean): T | boolean; test(value: unknown): value is T; traverse(traverser: Traverser, parent?: Schema, key?: string | number): void; anyOf(values: T[]): Tuple; noneOf(values: T[]): Tuple; nillable(): Nillable; nullable(): Nullable; optional(): Optional; items(items: FunctionMaybe<[S0]>): Tuple<[Infer]>; items(items: FunctionMaybe<[S0, S1]>): Tuple<[Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2]>): Tuple<[Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3]>): Tuple<[Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4]>): Tuple<[Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4, S5]>): Tuple<[Infer, Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4, S5, S6]>): Tuple<[Infer, Infer, Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4, S5, S6, S7]>): Tuple<[Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4, S5, S6, S7, S8]>): Tuple<[Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe<[S0, S1, S2, S3, S4, S5, S6, S7, S8, S9]>): Tuple<[Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer, Infer]>; items(items: FunctionMaybe): Tuple; length(value: FunctionMaybe): Tuple; } export default Tuple;