import { Base, BaseError, Type } from "./type";
import { PromiseWrapper, PromiseFactory } from "./promise";
import { AggregateException } from "./AggregateException";
import { TaskStatus } from "./TaskStatus";
/**
 * @hidden
 */
export declare class Task extends Base {
    static $t: Type;
    d: PromiseWrapper;
    b: boolean;
    a: AggregateException;
    constructor(a: number, b: PromiseWrapper);
    constructor(a: number, b: PromiseWrapper, c: any);
    constructor(a: number, ..._rest: any[]);
    get c(): boolean;
    get h(): TaskStatus;
    e: any;
    f(a: (arg1: Task) => void): Task;
    g<TNewResult>($tNewResult: Type, a: (arg1: Task) => TNewResult): Task$1<TNewResult>;
}
/**
 * @hidden
 */
export declare class Task$1<TResult> extends Task {
    static $t: Type;
    protected $tResult: Type;
    constructor($tResult: Type, a: PromiseWrapper, b: any);
    private i;
    private m;
    get n(): TResult;
    j(a: (arg1: Task$1<TResult>) => void): Task;
    k<TNewResult>($tNewResult: Type, a: (arg1: Task$1<TResult>) => TNewResult): Task$1<TNewResult>;
    private l;
}
/**
 * @hidden
 */
export declare class TaskCompletionSource$1<TResult> extends Base {
    static $t: Type;
    protected $tResult: Type;
    a: PromiseFactory;
    constructor($tResult: Type, a: number);
    constructor($tResult: Type, a: number, b: any);
    constructor($tResult: Type, a: number, ..._rest: any[]);
    c(): void;
    d(a: BaseError): void;
    e(a: TResult): void;
    b: Task$1<TResult>;
}
