import { OnDestroy } from '@angular/core';
import { Maybe } from '@dereekb/util';
import { Observable } from 'rxjs';
import { LoadingState } from '@dereekb/rxjs';
import * as i0 from "@angular/core";
/**
 * Used to display a corresponding widget based on the input data.
 */
export declare class DbxZipPreviewComponent implements OnDestroy {
    /**
     * The URL to download the zip file from, if applicable.
     */
    readonly srcUrl: import("@angular/core").ModelSignal<Maybe<string>>;
    /**
     * The blob to use for the zip file, if applicable.
     */
    readonly blob: import("@angular/core").ModelSignal<Maybe<Blob>>;
    /**
     * The file name to use for the zip file.
     */
    readonly downloadFileName: import("@angular/core").ModelSignal<Maybe<string>>;
    readonly srcUrl$: Observable<Maybe<string>>;
    readonly blob$: Observable<Maybe<Blob>>;
    readonly zipFileBlobLoadingState$: Observable<LoadingState<Blob>>;
    readonly zipFileBlob$: Observable<Maybe<Blob>>;
    readonly zipFileBlobSignal: import("@angular/core").Signal<Maybe<Blob>>;
    readonly context: import("@dereekb/rxjs").MutableLoadingStateContext<unknown, LoadingState<Blob>, import("@dereekb/rxjs").LoadingContextEvent & LoadingState<Blob>>;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxZipPreviewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxZipPreviewComponent, "dbx-zip-preview", never, { "srcUrl": { "alias": "srcUrl"; "required": false; "isSignal": true; }; "blob": { "alias": "blob"; "required": false; "isSignal": true; }; "downloadFileName": { "alias": "downloadFileName"; "required": false; "isSignal": true; }; }, { "srcUrl": "srcUrlChange"; "blob": "blobChange"; "downloadFileName": "downloadFileNameChange"; }, never, never, true, never>;
}
