import { Base, IEnumerable$1, BaseError, IDisposable, Type, IEnumerator$1 } from "igniteui-angular-core";
import { WorkItem } from "./WorkItem";
import { WorkItem$1 } from "./WorkItem$1";
/**
 * @hidden
 */
export declare class Async extends Base {
    static $t: Type;
    static c(a: number, b: number, c: number, d: (arg1: number) => WorkItem): WorkItem;
    static f(a: number, b: number, c: number, d: (arg1: number) => boolean): WorkItem;
    static d<T>($t: Type, a: IEnumerable$1<T>, b: (arg1: T) => WorkItem): WorkItem;
    static e<T>($t: Type, a: IEnumerable$1<T>, b: (arg1: T) => boolean): WorkItem;
    static g(a: boolean, b: () => WorkItem, c?: () => WorkItem): WorkItem;
    static h(a: () => WorkItem, b: () => void): WorkItem;
    static i<TResult>($tResult: Type, a: () => WorkItem$1<TResult>, b: () => void): WorkItem$1<TResult>;
    static j<TException extends BaseError>($tException: Type, a: () => WorkItem, b: (arg1: TException) => void, c?: () => void): WorkItem;
    static k<TException extends BaseError, TResult>($tException: Type, $tResult: Type, a: () => WorkItem$1<TResult>, b: (arg1: TException) => void, c?: () => void): WorkItem$1<TResult>;
    static l<TException1 extends BaseError, TException2 extends BaseError>($tException1: Type, $tException2: Type, a: () => WorkItem, b: (arg1: TException1) => void, c: (arg1: TException2) => void, d?: () => void): WorkItem;
    static m<TException1 extends BaseError, TException2 extends BaseError, TException3 extends BaseError>($tException1: Type, $tException2: Type, $tException3: Type, a: () => WorkItem, b: (arg1: TException1) => void, c: (arg1: TException2) => void, d: (arg1: TException3) => void, e?: () => void): WorkItem;
    private static a;
    private static b;
    static o<T extends IDisposable>($t: Type, a: WorkItem$1<T>, b: (arg1: T) => WorkItem): WorkItem;
    static n<T extends IDisposable>($t: Type, a: T, b: (arg1: T) => WorkItem): WorkItem;
    static p<T extends IDisposable, TResult>($t: Type, $tResult: Type, a: T, b: (arg1: T) => WorkItem$1<TResult>): WorkItem$1<TResult>;
    static q<T extends IDisposable, TResult>($t: Type, $tResult: Type, a: WorkItem$1<T>, b: (arg1: T) => WorkItem$1<TResult>): WorkItem$1<TResult>;
    static r(a: () => boolean, b: () => WorkItem): WorkItem;
    static s(a: () => boolean, b: () => boolean): WorkItem;
}
/**
 * @hidden
 */
export declare class Async_ForEachHelper$1<T> extends Base {
    static $t: Type;
    protected $t: Type;
    private readonly c;
    private readonly d;
    private readonly e;
    constructor($t: Type, a: IEnumerator$1<T>, b: (arg1: T) => WorkItem);
    a(): WorkItem;
    private b;
}
/**
 * @hidden
 */
export declare class Async_ForEachSliceHelper$1<T> extends Base {
    static $t: Type;
    protected $t: Type;
    private readonly c;
    private readonly d;
    private readonly e;
    constructor($t: Type, a: IEnumerator$1<T>, b: (arg1: T) => boolean);
    a(): WorkItem;
    private b;
}
/**
 * @hidden
 */
export declare class Async_UsingHelper$1<T extends IDisposable> extends Base {
    static $t: Type;
    protected $t: Type;
    private readonly a;
    private readonly c;
    constructor($t: Type, a: T, b: (arg1: T) => WorkItem);
    b(): WorkItem;
}
/**
 * @hidden
 */
export declare class Async_UsingHelper$2<T extends IDisposable, TResult> extends Base {
    static $t: Type;
    protected $t: Type;
    protected $tResult: Type;
    private readonly a;
    private readonly c;
    constructor($t: Type, $tResult: Type, a: T, b: (arg1: T) => WorkItem$1<TResult>);
    b(): WorkItem$1<TResult>;
}
