import { Observable } from 'rxjs';
import * as i0 from "@angular/core";
export declare class SkyWaitService {
    #private;
    /**
     * Starts a blocking page wait on the page.
     */
    beginBlockingPageWait(): void;
    /**
     * Starts a non-blocking page wait on the page.
     */
    beginNonBlockingPageWait(): void;
    /**
     * Ends a blocking page wait on the page. Blocking page wait indication
     * is removed when all running blocking page waits are ended.
     */
    endBlockingPageWait(): void;
    /**
     * Ends a non-blocking page wait on the page. Non-blocking page wait indication
     * is removed when all running non-blocking page waits are ended.
     */
    endNonBlockingPageWait(): void;
    /**
     * Clears all blocking and non-blocking page waits on the page.
     */
    clearAllPageWaits(): void;
    /**
     * @internal
     */
    dispose(): void;
    /**
     * Launches a page wait and automatically stops when the specific asynchronous event completes.
     */
    blockingWrap<T>(observable: Observable<T>): Observable<T>;
    /**
     * Launches a non-blocking page wait and automatically stops when the specific
     * asynchronous event completes.
     */
    nonBlockingWrap<T>(observable: Observable<T>): Observable<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<SkyWaitService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<SkyWaitService>;
}
