import { toAsync, whenEmpty, catchSync } from '../sync';
import { combineEmitter } from '../emitter';
import { catchAsync } from '../async-base';
export declare const iterableFuncs: {
    withIndex: (this: any) => any;
    takeWhile: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseAction: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
    take: <T_1>(this: import("augmentative-iterable").AnyIterable<T_1>, n: number) => import("augmentative-iterable").AnyIterable<any>;
    skipWhile: <T_2>(this: import("augmentative-iterable").AnyIterable<T_2>, baseCondition: import("../types-internal").AnyMapper<T_2>) => import("augmentative-iterable").AnyIterable<any>;
    skip: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, n: number) => import("augmentative-iterable").AnyIterable<any>;
    map: <T_4>(this: import("augmentative-iterable").AnyIterable<T_4>, action: import("../types-internal").AnyMapper<T_4>) => import("augmentative-iterable").AnyIterable<T_4>;
    filter: <T_5>(this: import("augmentative-iterable").AnyIterable<T_5>, basePredicate?: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
    append: any;
    prepend: any;
    concat: <T_6>(this: import("augmentative-iterable").AnyIterable<T_6>, ...iterables: import("augmentative-iterable").AnyIterable<T_6>[]) => any;
    repeat: <T_7>(this: import("augmentative-iterable").AnyIterable<T_7>, n: number) => any;
    flatten: <T_8, R>(this: Iterable<T_8>, baseMapper?: import("../types-internal").AnyMapper<T_8>) => Iterable<R>;
    flatMap: <T_8, R>(this: Iterable<T_8>, baseMapper?: import("../types-internal").AnyMapper<T_8>) => Iterable<R>;
    flatJoin: <T_9, R_1>(this: Iterable<T_9>, ...path: string[]) => Iterable<R_1>;
    sort: <T_10>(this: Iterable<T_10>, comparer?: import("..").Comparer<T_10> | undefined) => any;
    sortBy: <T_11>(this: Iterable<T_11>, ...props: import("../types-internal").AnyMapper<T_11>[]) => import("augmentative-iterable").AnyIterable<any>;
    distinct: <T_12>(this: import("augmentative-iterable").AnyIterable<T_12>, baseMapper?: number | import("../types-internal").AnyMapper<T_12>, maxOcurrencesOrChoose?: number | import("../types").Choose<T_12> | undefined, maxOcurrences?: number) => any;
    execute: <T_13>(this: import("augmentative-iterable").AnyIterable<T_13>, action: import("../types-internal").FunctionAnyMapper<T_13>) => import("augmentative-iterable").AnyIterable<any>;
    combine: <T_14, U>(this: import("augmentative-iterable").AnyIterable<T_14>, iterable: import("augmentative-iterable").AnyIterable<U>, keyA?: import("augmentative-iterable").Mapper<T_14, unknown> | undefined, keyB?: import("augmentative-iterable").Mapper<U, unknown> | undefined) => any;
    whenEmpty: typeof whenEmpty;
    catch: typeof catchSync;
    assureOrderRecipe<T_15>(symbol: symbol, direction: number): (this: import("augmentative-iterable").AnyIterable<T_15>) => import("augmentative-iterable").AnyIterable<T_15>;
    assureOrder: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
    o: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
    assureOrderDescending: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
    od: (this: import("augmentative-iterable").AnyIterable<unknown>) => import("augmentative-iterable").AnyIterable<unknown>;
};
export declare const iterableAsyncFuncs: {
    concatAsync: <T_6>(this: import("augmentative-iterable").AnyIterable<T_6>, ...iterables: import("augmentative-iterable").AnyIterable<T_6>[]) => any;
    takeWhileAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, baseAction: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
    skipWhileAsync: <T_2>(this: import("augmentative-iterable").AnyIterable<T_2>, baseCondition: import("../types-internal").AnyMapper<T_2>) => import("augmentative-iterable").AnyIterable<any>;
    mapAsync: <T_4>(this: import("augmentative-iterable").AnyIterable<T_4>, action: import("../types-internal").AnyMapper<T_4>) => import("augmentative-iterable").AnyIterable<T_4>;
    filterAsync: <T_5>(this: import("augmentative-iterable").AnyIterable<T_5>, basePredicate?: import("../types-internal").AnyMapper<any>) => import("augmentative-iterable").AnyIterable<unknown>;
    flattenAsync: <T_8, R>(this: Iterable<T_8>, baseMapper?: import("../types-internal").AnyMapper<T_8>) => Iterable<R>;
    flatMerge: <T>(this: import("augmentative-iterable").AnyIterable<T>, callback?: import("../types").ErrorCallback | undefined) => any;
    flatMapAsync: <T_8, R>(this: Iterable<T_8>, baseMapper?: import("../types-internal").AnyMapper<T_8>) => Iterable<R>;
    distinctAsync: <T_12>(this: import("augmentative-iterable").AnyIterable<T_12>, baseMapper?: number | import("../types-internal").AnyMapper<T_12>, maxOcurrencesOrChoose?: number | import("../types").Choose<T_12> | undefined, maxOcurrences?: number) => any;
    executeAsync: <T_13>(this: import("augmentative-iterable").AnyIterable<T_13>, action: import("../types-internal").FunctionAnyMapper<T_13>) => import("augmentative-iterable").AnyIterable<any>;
    toAsync: typeof toAsync;
    combineAsync: <T_14, U>(this: import("augmentative-iterable").AnyIterable<T_14>, iterable: import("augmentative-iterable").AnyIterable<U>, keyA?: import("augmentative-iterable").Mapper<T_14, unknown> | undefined, keyB?: import("augmentative-iterable").Mapper<U, unknown> | undefined) => any;
    combineEmitter: typeof combineEmitter;
    concatEmitter: <T_1>(this: import("augmentative-iterable").AnyIterable<T_1>, eventEmitter: any, options?: import("../types").FluentEmitOptions | undefined) => any;
    catchAsync: typeof catchAsync;
};
export declare const special: {
    partition: <T>(this: Iterable<T>, criteria: number | import("../types").Equality<unknown>) => import("augmentative-iterable").AnyIterable<import("augmentative-iterable").AnyIterable<T>>;
    group: <T_1>(this: import("augmentative-iterable").AnyIterable<T_1>, baseMapper: import("../types-internal").AnyMapper<T_1>, baseTransformValue?: import("../types-internal").AnyMapper<T_1> | undefined) => any;
    groupAsync: <T_1>(this: import("augmentative-iterable").AnyIterable<T_1>, baseMapper: import("../types-internal").AnyMapper<T_1>, baseTransformValue?: import("../types-internal").AnyMapper<T_1> | undefined) => any;
    next: any;
};
export declare const resolvingFuncs: {
    count: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: import("../types-internal").AnyMapper<T>) => any;
    countAsync: <T>(this: import("augmentative-iterable").AnyIterable<T>, predicate?: import("../types-internal").AnyMapper<T>) => any;
    emit: <T_1>(this: import("augmentative-iterable").AnyIterable<T_1>) => import("..").FluentEmitter<T_1>;
    first: <T_2>(this: Iterable<T_2>, givenPredicate?: import("../types-internal").AnyMapper<T_2>) => any;
    firstAsync: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, givenPredicate?: import("../types-internal").AnyMapper<T_3>) => Promise<any>;
    last: <T_4>(this: import("augmentative-iterable").AnyIterable<T_4>, predicate?: any) => any;
    lastAsync: <T_4>(this: import("augmentative-iterable").AnyIterable<T_4>, predicate?: any) => any;
    reduceAndMap: <T_5, A, R>(this: Iterable<T_5>, reducer: import("..").Reducer<T_5, A>, initial: A, baseResult: import("../types-internal").AnyMapper<A>) => R;
    reduceAndMapAsync: <T_5, A, R>(this: Iterable<T_5>, reducer: import("..").Reducer<T_5, A>, initial: A, baseResult: import("../types-internal").AnyMapper<A>) => R;
    reduce: <T_6, R_1>(this: import("augmentative-iterable").AnyIterable<T_6>, reducer: import("..").AsyncReducer<T_6, R_1>, initial: R_1) => any;
    reduceAsync: <T_6, R_1>(this: import("augmentative-iterable").AnyIterable<T_6>, reducer: import("..").AsyncReducer<T_6, R_1>, initial: R_1) => any;
    all: <T_2>(this: Iterable<T_2>, givenPredicate?: import("../types-internal").AnyMapper<T_2>) => any;
    allAsync: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, givenPredicate?: import("../types-internal").AnyMapper<T_3>) => Promise<any>;
    every: <T_2>(this: Iterable<T_2>, givenPredicate?: import("../types-internal").AnyMapper<T_2>) => any;
    everyAsync: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, givenPredicate?: import("../types-internal").AnyMapper<T_3>) => Promise<any>;
    any: <T_2>(this: Iterable<T_2>, givenPredicate?: import("../types-internal").AnyMapper<T_2>) => any;
    anyAsync: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, givenPredicate?: import("../types-internal").AnyMapper<T_3>) => Promise<any>;
    some: <T_2>(this: Iterable<T_2>, givenPredicate?: import("../types-internal").AnyMapper<T_2>) => any;
    someAsync: <T_3>(this: import("augmentative-iterable").AnyIterable<T_3>, givenPredicate?: import("../types-internal").AnyMapper<T_3>) => Promise<any>;
    contains: <T_7>(this: import("augmentative-iterable").AnyIterable<T_7>, item: T_7) => any;
    toArray: typeof import("augmentative-iterable").augmentativeToArray;
    toObject: <T_8, V, R_2 extends {
        [key: string]: V;
    }>(this: import("augmentative-iterable").AnyIterable<T_8>, baseKeySelector: import("../types-internal").AnyMapper<T_8>, baseValueSelector?: import("../types-internal").AnyMapper<T_8>, choose?: import("../types").Choose<T_8> | undefined) => R_2;
    toObjectAsync: <T_8, V, R_2 extends {
        [key: string]: V;
    }>(this: import("augmentative-iterable").AnyIterable<T_8>, baseKeySelector: import("../types-internal").AnyMapper<T_8>, baseValueSelector?: import("../types-internal").AnyMapper<T_8>, choose?: import("../types").Choose<T_8> | undefined) => R_2;
    forEach: <T_9>(this: import("augmentative-iterable").AnyIterable<T_9>, action: import("../types-internal").AnyMapper<T_9>) => any;
    forEachAsync: <T_9>(this: import("augmentative-iterable").AnyIterable<T_9>, action: import("../types-internal").AnyMapper<T_9>) => any;
    join: (this: import("augmentative-iterable").AnyIterable<unknown>, separator: string, baseMapper?: import("../types-internal").FunctionAnyMapper<unknown>) => any;
    joinAsync: (this: import("augmentative-iterable").AnyIterable<unknown>, separator: string, baseMapper?: import("../types-internal").FunctionAnyMapper<unknown>) => any;
    sum: <T_10>(this: import("augmentative-iterable").AnyIterable<T_10>, mapper?: import("../types-internal").AnyMapper<T_10>) => any;
    sumAsync: <T_10>(this: import("augmentative-iterable").AnyIterable<T_10>, mapper?: import("../types-internal").AnyMapper<T_10>) => any;
    avg: <T_11>(this: Iterable<T_11>, baseMapper?: import("../types-internal").AnyMapper<T_11>) => any;
    avgAsync: <T_11>(this: Iterable<T_11>, baseMapper?: import("../types-internal").AnyMapper<T_11>) => any;
    top: <T_12>(this: any, baseMapper: import("../types-internal").AnyMapper<T_12>, comparer: Function) => any;
    topAsync: <T_12>(this: any, baseMapper: import("../types-internal").AnyMapper<T_12>, comparer: Function) => any;
    min: <T_13>(this: any, baseMapper?: import("../types-internal").AnyMapper<T_13>) => any;
    minAsync: <T_13>(this: any, baseMapper?: import("../types-internal").AnyMapper<T_13>) => any;
    max: <T_13>(this: any, baseMapper?: import("../types-internal").AnyMapper<T_13>) => any;
    maxAsync: <T_13>(this: any, baseMapper?: import("../types-internal").AnyMapper<T_13>) => any;
    hasExactly: <T_14>(this: import("augmentative-iterable").AnyIterable<T_14>, expectedSize: number) => any;
    hasLessOrExactly: <T_14>(this: import("augmentative-iterable").AnyIterable<T_14>, expectedSize: number) => any;
    hasLessThan: <T_14>(this: import("augmentative-iterable").AnyIterable<T_14>, expectedSize: number) => any;
    hasMoreOrExactly: <T_14>(this: import("augmentative-iterable").AnyIterable<T_14>, expectedSize: number) => any;
    hasMoreThan: <T_14>(this: import("augmentative-iterable").AnyIterable<T_14>, expectedSize: number) => any;
    waitAll: <T_15, R_3>(this: import("augmentative-iterable").AnyIterable<T_15>, baseMapper: import("../types-internal").AnyMapper<T_15>) => any;
    isDistinct: <T_12>(this: import("augmentative-iterable").AnyIterable<T_12>, baseMapper?: number | import("../types-internal").AnyMapper<T_12>, maxOcurrencesOrChoose?: number | import("../types").Choose<T_12> | undefined, maxOcurrences?: number) => any;
    isDistinctAsync: <T_12>(this: import("augmentative-iterable").AnyIterable<T_12>, baseMapper?: number | import("../types-internal").AnyMapper<T_12>, maxOcurrencesOrChoose?: number | import("../types").Choose<T_12> | undefined, maxOcurrences?: number) => any;
    next: any;
    toMap: <T_16>(this: import("augmentative-iterable").AnyIterable<T_16>, getKey: import("../types-internal").AnyMapper<T_16>, mapper: import("../types-internal").AnyMapper<T_16>, getReduced?: import("../types").Choose<unknown> | undefined) => any;
    toMapAsync: <T_16>(this: import("augmentative-iterable").AnyIterable<T_16>, getKey: import("../types-internal").AnyMapper<T_16>, mapper: import("../types-internal").AnyMapper<T_16>, getReduced?: import("../types").Choose<unknown> | undefined) => any;
    toSet: <T_17>(this: import("augmentative-iterable").AnyIterable<T_17>, mapper?: import("../types-internal").AnyMapper<T_17>) => any;
    toSetAsync: <T_17>(this: import("augmentative-iterable").AnyIterable<T_17>, mapper?: import("../types-internal").AnyMapper<T_17>) => any;
};
