import { OnChanges, EventEmitter, SimpleChanges } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { BackgroundProviderInnerComponent } from "../background-provider/background-provider-inner.component";
import { Margin, Space } from "./dxc-alert.types";
import * as i0 from "@angular/core";
export declare class DxcAlertComponent implements OnChanges {
    private utils;
    /**
     * Uses on of the available alert types.
     */
    type: "info" | "confirm" | "warning" | "error";
    /**
     * Uses on of the available alert modes:
     *    'inline': If onClose eventEmitter is received, close button will be visible and the
     *              event will be emitted when it's clicked. There is no overlay layer.
     *              Position should be decided by the user.
     *    'modal': The alert will be displayed in the middle of the screen with an overlay
     *             layer behind. The onClose event will be emitted when the X button or
     *             the overlay is clicked. The user has the responsibility of hidding the modal
     *             in the onClose event, otherwise the modal will remain visible.
     */
    mode: "inline" | "modal";
    /**
     * Text to display after icon and alert type and before content.
     */
    inlineText: string;
    /**
     * Tabindex value given to the close button.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * This event will emit in case the user clicks the close button. If there is no
     * eventEmitter we should close the alert by default.
     */
    onClose: EventEmitter<void>;
    /**
     * Size of the margin to be applied to the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different margin sizes.
     */
    margin: Space | Margin;
    /**
     * Size of the component.
     */
    size: "small" | "medium" | "large" | "fillParent" | "fitContent";
    isCloseVisible: boolean;
    className: any;
    content: BackgroundProviderInnerComponent;
    currentBackgroundColor: string;
    sizes: {
        small: string;
        medium: string;
        large: string;
        fillParent: string;
        fitContent: string;
    };
    defaultInputs: BehaviorSubject<any>;
    constructor(utils: CssUtils);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    getDynamicStyle(inputs: any): string;
    setBackgroundColorByAlertType(type: string): string;
    onCloseHandler($event: any): void;
    ngAfterViewChecked(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcAlertComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcAlertComponent, "dxc-alert", never, { "type": "type"; "mode": "mode"; "inlineText": "inlineText"; "tabIndexValue": "tabIndexValue"; "margin": "margin"; "size": "size"; }, { "onClose": "onClose"; }, never, ["*"]>;
}
//# sourceMappingURL=dxc-alert.component.d.ts.map