import { ElementRef, OnChanges, OnInit } from '@angular/core';
import { CssClassBuilder } from '@fundamental-ngx/cdk/utils';
import { IconFont } from '@fundamental-ngx/core/icon';
import * as i0 from "@angular/core";
export type MessagePageType = '' | 'filter' | 'search' | 'no-items' | 'error';
export declare class MessagePageComponent implements OnChanges, OnInit, CssClassBuilder {
    readonly elementRef: ElementRef;
    /** User's custom class */
    class: string;
    /**
     * The type of the Message Page.
     * Options include: filter, search, no-items, error and default.
     * Leave empty for default.
     */
    type: MessagePageType;
    /**
     * Whether the Message Page has an icon.
     * Set to true by default.
     * It's recommended to always show an icon with the Message Page.
     */
    hasIcon: boolean;
    /** Glyph font family */
    glyphFont: IconFont;
    /**
     * The icon of the Message Page.
     * The default icon is .sap-icon--documents.
     */
    set glyph(messagePageGlyph: string);
    /**
     * Getter method for the glyph property
     */
    get glyph(): string;
    /**
     * @hidden
     * The icon of the Message Page.
     */
    private _glyph;
    /** @hidden */
    constructor(elementRef: ElementRef);
    /** @hidden
     * CssClassBuilder interface implementation
     * function is responsible for order which css classes are applied
     */
    buildComponentCssClass(): string[];
    /** @hidden */
    ngOnChanges(): void;
    /** @hidden */
    ngOnInit(): void;
    /**
     * @hidden
     * Determine the icon based on the Message Page type
     * If no type is specified, the default icon is 'documents'
     */
    private _getMessagePageIcon;
    static ɵfac: i0.ɵɵFactoryDeclaration<MessagePageComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MessagePageComponent, "fd-message-page", never, { "class": { "alias": "class"; "required": false; }; "type": { "alias": "type"; "required": false; }; "hasIcon": { "alias": "hasIcon"; "required": false; }; "glyphFont": { "alias": "glyphFont"; "required": false; }; "glyph": { "alias": "glyph"; "required": false; }; }, {}, never, ["fd-message-page-title", "fd-message-page-subtitle", "fd-message-page-actions", "fd-message-page-more", "*"], true, never>;
}
