export declare type Gen = Generator; export declare type Operator = (source: Seq) => Gen; export declare type SeqConverter | AsyncIterable> = (source: Seq) => TResultSeq; export declare type SeqToValue = (source: Seq) => TResult; export declare class Seq implements Iterable { protected source: Iterable; constructor(source: Iterable); [Symbol.iterator](): Iterator; pipe(op1: Operator): Seq; pipe(op1: Operator, op2: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator, op7: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator, op7: Operator, op8: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator, op7: Operator, op8: Operator, op9: Operator): Seq; pipe(op1: Operator, op2: Operator, op3: Operator, op4: Operator, op5: Operator, op6: Operator, op7: Operator, op8: Operator, op9: Operator, op10: Operator): Seq; to | AsyncIterable>(converter: SeqConverter): TResultSeq; value(seqToValue: SeqToValue): TResult; forEach(func: (arg: T) => void): void; toMutableArray(): T[]; toArray(): readonly T[]; }