import { ProgressNotificationCallback, Realm } from "./internal";
export declare class ProgressRealmPromise implements Promise<Realm> {
    /**
     * Cancels the download of the Realm
     * If multiple `ProgressRealmPromise` instances are in progress for the same Realm, then canceling one of them
     * will cancel all of them.
     */
    cancel(): void;
    /**
     * Register to receive progress notifications while the download is in progress.
     * @param callback Called multiple times as the client receives data, with two arguments:
     * 1. `transferred` The current number of bytes already transferred
     * 2. `transferable` The total number of transferable bytes (i.e. the number of bytes already transferred plus the number of bytes pending transfer)
     */
    progress(callback: ProgressNotificationCallback): this;
    then: <TResult1 = Realm, TResult2 = never>(onfulfilled?: ((value: Realm) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | null | undefined) => Promise<TResult1 | TResult2>;
    catch: <TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | null | undefined) => Promise<Realm | TResult>;
    finally: (onfinally?: (() => void) | null | undefined) => Promise<Realm>;
    private emitProgress;
    private createTimeoutPromise;
    private cancelAndResetTask;
    private rejectAsCanceled;
    get [Symbol.toStringTag](): string;
}
//# sourceMappingURL=ProgressRealmPromise.d.ts.map