import { ElementRef, OnDestroy } from '@angular/core';
import { WorkUsingObservable, LoadingState, MaybeObservableOrValue } from '@dereekb/rxjs';
import { type Maybe } from '@dereekb/util';
import { Observable } from 'rxjs';
import { DownloadTextContent } from './download.text';
import { DbxDownloadBlobButtonConfig } from '../blob/download.blob.button.component';
import { AbstractDbxClipboardDirective } from '../../../util/clipboard.directive';
import * as i0 from "@angular/core";
/**
 * View for previewing and downloading arbitrary text content.
 */
export declare class DbxDownloadTextViewComponent extends AbstractDbxClipboardDirective implements OnDestroy {
    private readonly _browserObjectUrl;
    readonly downloadButton: import("@angular/core").Signal<Maybe<ElementRef<any>>>;
    readonly loadingText: import("@angular/core").InputSignal<Maybe<string>>;
    readonly linear: import("@angular/core").InputSignal<Maybe<boolean>>;
    readonly showTitle: import("@angular/core").InputSignal<boolean>;
    readonly showPreview: import("@angular/core").InputSignal<boolean>;
    readonly content: import("@angular/core").InputSignal<Maybe<DownloadTextContent>>;
    readonly contentState: import("@angular/core").InputSignal<MaybeObservableOrValue<LoadingState<DownloadTextContent>>>;
    readonly contentState$: Observable<Maybe<LoadingState<DownloadTextContent>>>;
    readonly contentStateSignal: import("@angular/core").Signal<Maybe<LoadingState<DownloadTextContent>>>;
    readonly contentLoadingStateSignal: import("@angular/core").Signal<Maybe<LoadingState<DownloadTextContent>>>;
    readonly contentLoadingState$: Observable<Maybe<LoadingState<DownloadTextContent>>>;
    readonly content$: Observable<Maybe<DownloadTextContent>>;
    readonly contentSignal: import("@angular/core").Signal<Maybe<DownloadTextContent>>;
    readonly contentDataSignal: import("@angular/core").Signal<string | undefined>;
    readonly fileNameSignal: import("@angular/core").Signal<string>;
    readonly downloadConfigSignal: import("@angular/core").Signal<DbxDownloadBlobButtonConfig | undefined>;
    readonly context: import("@dereekb/rxjs").MutableLoadingStateContext<unknown, LoadingState<DownloadTextContent>, import("@dereekb/rxjs").LoadingContextEvent & LoadingState<DownloadTextContent>>;
    readonly handleCopyToClipboard: WorkUsingObservable;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxDownloadTextViewComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxDownloadTextViewComponent, "dbx-download-text-view", never, { "loadingText": { "alias": "loadingText"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "showPreview": { "alias": "showPreview"; "required": false; "isSignal": true; }; "content": { "alias": "content"; "required": false; "isSignal": true; }; "contentState": { "alias": "contentState"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}
