export declare class CheckedPromise<T> implements Promise<T> {
    [Symbol.toStringTag]: any;
    private hasCatch;
    private promise;
    constructor(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason: any) => void) => void);
    then<R, E>(onfulfilled?: (value: T) => PromiseLike<R> | R, onrejected?: (reason: any) => PromiseLike<E> | E): Promise<R | E>;
    catch<TResult>(onrejected?: (reason: any) => PromiseLike<TResult> | TResult): Promise<T | TResult>;
    finally(onfinally?: (() => void) | undefined | null): Promise<T>;
}
export declare function checkPromise<T>(p: Promise<T>): CheckedPromise<unknown>;
