import type { ImplicitParjser, ParjsCombinator, Parjser } from "../../index";
import type { CombinatorInput } from "../combinated";
/**
* Represents the given function as a Parjs combinator.
*
* @param f The combinator function.
*/
export declare function defineCombinator(f: (act: CombinatorInput) => Parjser): ParjsCombinator;
/**
* Creates a new combinator by composing a series of functions.
*
* @param f1 A single function. It will be returned.
*/
export declare function composeCombinator(f1: ParjsCombinator): ParjsCombinator;
/**
* Creates a new combinator by composing a series of functions.
*
* @param f1 The first function in the series.
* @param f2 The 2nd function.
*/
export declare function composeCombinator(f1: ParjsCombinator, f2: ParjsCombinator): ParjsCombinator;
/**
* Creates a new combinator by composing a series of functions.
*
* @param f1 The first function in the series.
* @param f2 The 2nd function.
* @param f3 The 3rd function.
*/
export declare function composeCombinator(f1: ParjsCombinator, f2: ParjsCombinator, f3: ParjsCombinator): ParjsCombinator;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The single combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator): Parjser;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The first combinator to apply.
* @param cmb2 The second combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator, cmb2: ParjsCombinator): Parjser;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The first combinator to apply.
* @param cmb2 The second combinator to apply.
* @param cmb3 The third combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator, cmb2: ParjsCombinator, cmb3: ParjsCombinator): Parjser;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The first combinator to apply.
* @param cmb2 The second combinator to apply.
* @param cmb3 The third combinator to apply.
* @param cmb4 The fourth combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator, cmb2: ParjsCombinator, cmb3: ParjsCombinator, cmb4: ParjsCombinator): Parjser;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The first combinator to apply.
* @param cmb2 The second combinator to apply.
* @param cmb3 The third combinator to apply.
* @param cmb4 The fourth combinator to apply.
* @param cmb5 The fifth combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator, cmb2: ParjsCombinator, cmb3: ParjsCombinator, cmb4: ParjsCombinator, cmb5: ParjsCombinator): Parjser;
/**
* The chaining or piping operator. Applies a sequence of combinators to this parser, feeding the
* result of one into the input of the next.
*
* @param source The source parser on which to apply the combinators.
* @param cmb1 The first combinator to apply.
* @param cmb2 The second combinator to apply.
* @param cmb3 The third combinator to apply.
* @param cmb4 The fourth combinator to apply.
* @param cmb5 The fifth combinator to apply.
* @param cmb6 The sixth combinator to apply.
*/
export declare function pipe(source: ImplicitParjser, cmb1: ParjsCombinator, cmb2: ParjsCombinator, cmb3: ParjsCombinator, cmb4: ParjsCombinator, cmb5: ParjsCombinator, cmb6: ParjsCombinator): Parjser;
//# sourceMappingURL=combinator.d.ts.map