import { AfterContentChecked, ChangeDetectorRef, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
import { CssClassBuilder, Nullable, RequireOnlyOne } from '@fundamental-ngx/cdk/utils';
import * as i0 from "@angular/core";
export interface SvgItemConfig {
    url: string;
    id: string;
    file: string;
}
export interface SvgConfig {
    large?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    medium?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    small?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    xsmall?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    scene?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    dialog?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    spot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
    dot?: RequireOnlyOne<SvgItemConfig, 'url' | 'file'>;
}
export type IllustratedMessageType = 'large' | 'medium' | 'small' | 'xsmall' | 'base' | 'scene' | 'dialog' | 'spot' | 'dot';
export declare enum IllustratedMessageTypes {
    LARGE = "large",
    MEDIUM = "medium",
    SMALL = "small",
    EXTRA_SMALL = "xsmall",
    BASE = "base",
    SCENE = "scene",
    DIALOG = "dialog",
    SPOT = "spot",
    DOT = "dot"
}
export declare class IllustratedMessageComponent implements AfterContentChecked, OnChanges, OnDestroy, OnInit, CssClassBuilder {
    readonly elementRef: ElementRef;
    private _cdRef;
    private _sanitizer;
    type: IllustratedMessageType;
    svgConfig: SvgConfig;
    svgAriaLabel: Nullable<string>;
    noSvg: boolean;
    id: string;
    class: string;
    _href: string;
    _isSmallScreen: boolean;
    _inlineSvg: SafeHtml | undefined;
    _tempType: IllustratedMessageType;
    private _subscriptions;
    constructor(elementRef: ElementRef, _cdRef: ChangeDetectorRef, _sanitizer: DomSanitizer);
    buildComponentCssClass(): string[];
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    ngAfterContentChecked(): void;
    ngOnDestroy(): void;
    private _constructHref;
    private _determineIllustratedMessageType;
    private _normalizeType;
    private _normalizeSvgConfig;
    private _getHrefByType;
    static ɵfac: i0.ɵɵFactoryDeclaration<IllustratedMessageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IllustratedMessageComponent, "[fd-illustrated-message]", never, { "type": { "alias": "type"; "required": false; }; "svgConfig": { "alias": "svgConfig"; "required": false; }; "svgAriaLabel": { "alias": "svgAriaLabel"; "required": false; }; "noSvg": { "alias": "noSvg"; "required": false; }; "id": { "alias": "id"; "required": false; }; "class": { "alias": "class"; "required": false; }; }, {}, never, ["[fd-illustrated-message-figcaption]", "fd-illustrated-message-actions"], true, never>;
}
