export type PipeFun<I, O> = (input: I) => O;
export declare class Pipe<I> {
    #private;
    static with<I>(input: I): Pipe<I>;
    constructor(input: I);
    to<O>(fun: PipeFun<I, O>): Pipe<O>;
    done(): I;
}
