import { Observable } from 'rxjs';
import { Signal } from '@angular/core';
import { ProgressBarMode } from '@angular/material/progress-bar';
import { LoadingContext, LoadingContextEvent, MaybeObservableOrValue } from '@dereekb/rxjs';
import { ErrorInput, type Maybe } from '@dereekb/util';
import { DbxLoadingIsLoadingOrProgress } from './loading';
import * as i0 from "@angular/core";
/**
 * State of a DbxLoadingComponent.
 */
export interface DbxLoadingComponentState {
    readonly loading: DbxLoadingIsLoadingOrProgress;
    readonly error: Maybe<ErrorInput>;
}
/**
 * Loading View component that provides content sections for loading, error, and an error action.
 */
export declare class DbxLoadingComponent {
    private readonly _contextOverrideSignal;
    /**
     * Whether or not to add padding to the linear presentation when linear is complete. This prevents the linear bar from pushing content around.
     */
    readonly padding: import("@angular/core").InputSignal<Maybe<boolean>>;
    readonly show: import("@angular/core").InputSignal<Maybe<boolean>>;
    readonly text: import("@angular/core").InputSignal<Maybe<string>>;
    readonly mode: import("@angular/core").InputSignal<Maybe<ProgressBarMode>>;
    readonly color: import("@angular/core").InputSignal<"primary" | "accent" | "warn" | "notice" | "ok" | "success" | "grey" | "background" | "disabled" | undefined>;
    readonly diameter: import("@angular/core").InputSignal<Maybe<number>>;
    readonly linear: import("@angular/core").InputSignal<Maybe<boolean>>;
    readonly loading: import("@angular/core").InputSignal<Maybe<import("@dereekb/dbx-core").DbxActionWorkOrWorkProgress>>;
    readonly error: import("@angular/core").InputSignal<Maybe<ErrorInput>>;
    readonly context: import("@angular/core").InputSignal<MaybeObservableOrValue<LoadingContext<LoadingContextEvent>>>;
    readonly contextSignal: Signal<MaybeObservableOrValue<LoadingContext>>;
    readonly contextStream$: Observable<Maybe<LoadingContextEvent>>;
    readonly contextStreamSignal: Signal<Maybe<LoadingContextEvent>>;
    readonly stateSignal: Signal<DbxLoadingComponentState>;
    readonly showPaddingSignal: Signal<boolean | null | undefined>;
    /**
     * Sets/overrides the context directly.
     *
     * @param context Context source to use as an override.
     */
    setContext(context: MaybeObservableOrValue<LoadingContext>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DbxLoadingComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DbxLoadingComponent, "dbx-loading", never, { "padding": { "alias": "padding"; "required": false; "isSignal": true; }; "show": { "alias": "show"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "mode": { "alias": "mode"; "required": false; "isSignal": true; }; "color": { "alias": "color"; "required": false; "isSignal": true; }; "diameter": { "alias": "diameter"; "required": false; "isSignal": true; }; "linear": { "alias": "linear"; "required": false; "isSignal": true; }; "loading": { "alias": "loading"; "required": false; "isSignal": true; }; "error": { "alias": "error"; "required": false; "isSignal": true; }; "context": { "alias": "context"; "required": false; "isSignal": true; }; }, {}, never, ["[loading]", "*", "[error]", "[errorAction]"], true, never>;
}
