import WeakishMap from './WeakishMap'; import { Tuple0, Tuple1, Tuple2, Tuple3, Tuple4, Tuple5, Tuple6, Tuple7, Tuple8, CompositeSymbol0, CompositeSymbol1, CompositeSymbol2, CompositeSymbol3, CompositeSymbol4, CompositeSymbol5, CompositeSymbol6, CompositeSymbol7, CompositeSymbol8 } from './types'; declare const Tuple_base: any; export default class Tuple extends Tuple_base implements ArrayLike, Iterable { [i: number]: A; length: number; /** * @throws {TypeError} Will throw if called non-locally; use the tuple() method instead. */ constructor(iterable: Iterable, confirm: typeof localToken); /** * Constructs a tuple. */ static tuple(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): Tuple8; static tuple(a: A, b: B, c: C, d: D, e: E, f: F, g: G): Tuple7; static tuple(a: A, b: B, c: C, d: D, e: E, f: F): Tuple6; static tuple(a: A, b: B, c: C, d: D, e: E): Tuple5; static tuple(a: A, b: B, c: C, d: D): Tuple4; static tuple(a: A, b: B, c: C): Tuple3; static tuple(a: A, b: B): Tuple2; static tuple(a: A): Tuple1; static tuple(): Tuple0; static symbol(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H): CompositeSymbol8; static symbol(a: A, b: B, c: C, d: D, e: E, f: F, g: G): CompositeSymbol7; static symbol(a: A, b: B, c: C, d: D, e: E, f: F): CompositeSymbol6; static symbol(a: A, b: B, c: C, d: D, e: E): CompositeSymbol5; static symbol(a: A, b: B, c: C, d: D): CompositeSymbol4; static symbol(a: A, b: B, c: C): CompositeSymbol3; static symbol(a: A, b: B): CompositeSymbol2; static symbol(a: A): CompositeSymbol1; static symbol(): typeof CompositeSymbol0; static unsafe(...values: any[]): any; static unsafeSymbol(...values: any[]): any; [Symbol.iterator](): IterableIterator; } declare const localToken: unique symbol; /** * Tries to use the first non-primitive from value list as the root key and throws * if there's only primitives. */ export declare const getLeaf: (values: any[], unsafe?: boolean | undefined) => WeakishMap; /** * A memory-leaky, slightly more efficient version of `getLeaf()`. */ export declare const getUnsafeLeaf: (values: any[]) => Map; export declare const tuple: typeof Tuple.tuple, symbol: typeof Tuple.symbol, unsafe: typeof Tuple.unsafe, unsafeSymbol: typeof Tuple.unsafeSymbol; export {};