import { OnInit } from '@angular/core';
import { BaseStatesDirective } from '@eui/components/shared';
import { EuiLabelComponent } from '@eui/components/eui-label';
import * as i0 from "@angular/core";
import * as i1 from "@eui/components/shared";
/**
 * @description
 * Directive to mark an element as a dashboard button icon
 */
export declare class EuiDashboardButtonIconDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardButtonIconDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiDashboardButtonIconDirective, "eui-dashboard-button-icon", never, {}, {}, never, never, true, never>;
}
/**
 * @description
 * Directive to mark an element as a dashboard button label
 */
export declare class EuiDashboardButtonLabelDirective {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardButtonLabelDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<EuiDashboardButtonLabelDirective, "eui-dashboard-button-label", never, {}, {}, never, never, true, never>;
}
/**
 * @description
 * A customizable dashboard button component that can display icons, labels, and images.
 * Supports various states and sizes through host directives.
 */
export declare class EuiDashboardButtonComponent implements OnInit {
    /**
     * @description
     * Computes and returns the CSS classes for the dashboard button
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /**
     * @description
     * URL for an optional image to display in the button
     */
    imageUrl: string;
    /**
     * @description Reference to the icon content if provided
     */
    euiDashboardButtonIcon: EuiDashboardButtonIconDirective;
    /**
     * @description Reference to the label content if provided
     */
    euiDashboardButtonLabel: EuiDashboardButtonLabelDirective;
    /**
     * @description Reference to any EuiLabel component content
     */
    euiLabelContent: EuiLabelComponent;
    /**
     * @description Directive for managing component states
     */
    baseStatesDirective: BaseStatesDirective;
    /**
     * @description
     * Initializes the component by setting secondary state as default if no variant is specified
     */
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardButtonComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardButtonComponent, "eui-dashboard-button", never, { "imageUrl": { "alias": "imageUrl"; "required": false; }; }, {}, ["euiDashboardButtonIcon", "euiDashboardButtonLabel", "euiLabelContent"], ["eui-dashboard-button-icon", "eui-dashboard-button-label", "eui-label", "[euiLabel]", "eui-sublabel", "[euiSublabel]"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiAccent": "euiAccent"; "euiVariant": "euiVariant"; "euiSizeXS": "euiSizeXS"; "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeXL": "euiSizeXL"; "euiSize2XL": "euiSize2XL"; "euiSizeVariant": "euiSizeVariant"; }; outputs: {}; }]>;
}
/**
 * @description
 * Module that provides the EuiDashboardButton component and its related directives.
 *
 * @deprecated Use {@link EUI_DASHBOARD_BUTTON} instead
 */
export declare class EuiDashboardButtonModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardButtonModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<EuiDashboardButtonModule, never, [typeof EuiDashboardButtonComponent, typeof EuiDashboardButtonIconDirective, typeof EuiDashboardButtonLabelDirective], [typeof EuiDashboardButtonComponent, typeof EuiDashboardButtonIconDirective, typeof EuiDashboardButtonLabelDirective]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<EuiDashboardButtonModule>;
}
//# sourceMappingURL=eui-dashboard-button.component.d.ts.map