import * as i0 from '@angular/core';
import { OnInit, EventEmitter, QueryList } from '@angular/core';
import * as i1 from '@eui/components/shared';
import { BaseStatesDirective } from '@eui/components/shared';

/**
 * @description
 * Custom content container for EuiDashboardCard that enables fully customized card layouts.
 * Use this when the default card structure doesn't meet your needs and you want complete control
 * over the card's internal structure with header, body, and footer sections.
 *
 * @usageNotes
 * ### Complete Custom Card
 * ```html
 * <eui-dashboard-card>
 *   <eui-dashboard-card-content>
 *     <eui-dashboard-card-content-header>
 *       <eui-dashboard-card-content-header-icon icon="chart-line:regular"/>
 *       <eui-dashboard-card-content-header-title>
 *         Sales Overview
 *       </eui-dashboard-card-content-header-title>
 *       <eui-dashboard-card-content-header-action>
 *         <eui-icon-button icon="eui-ellipsis-vertical" size="s"/>
 *       </eui-dashboard-card-content-header-action>
 *     </eui-dashboard-card-content-header>
 *     <eui-dashboard-card-content-body>
 *       <div class="eui-u-f-2xl-bold">$24,500</div>
 *       <div class="eui-u-flex">
 *         <eui-icon-svg icon="arrow-up:regular" fillColor="success" size="xs"/>
 *         <span class="eui-u-c-s-success">+12% vs last month</span>
 *       </div>
 *     </eui-dashboard-card-content-body>
 *     <eui-dashboard-card-content-footer>
 *       <a class="eui-u-text-link" href="/reports">View full report</a>
 *     </eui-dashboard-card-content-footer>
 *   </eui-dashboard-card-content>
 * </eui-dashboard-card>
 * ```
 *
 * ### Accessibility
 * - Maintains semantic structure with header, body, and footer sections
 * - Ensure interactive elements within have proper labels
 * - Use heading elements in title section for proper document outline
 *
 * ### Notes
 * - Provides complete flexibility for complex dashboard card layouts
 * - Combine with sub-components for structured content organization
 * - Use when default card props (label, subLabel, etc.) are insufficient
 * - Supports all dashboard card variants and sizes via parent component
 */
declare class EuiDashboardCardContentComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentComponent, "eui-dashboard-card-content", never, {}, {}, never, ["eui-dashboard-card-content-header", "eui-dashboard-card-content-body", "eui-dashboard-card-content-footer", "*"], true, never>;
}

/**
 * @description
 * Main content area for custom dashboard cards, typically displaying metrics, charts, or key information.
 * Provides flexible content projection for any type of dashboard data visualization.
 *
 * @usageNotes
 * ### Metric Display
 * ```html
 * <eui-dashboard-card-content-body>
 *   <div class="eui-u-f-3xl-bold">1,247</div>
 *   <div class="eui-u-f-s eui-u-c-s-muted">Total Orders</div>
 * </eui-dashboard-card-content-body>
 * ```
 *
 * ### With Trend Indicator
 * ```html
 * <eui-dashboard-card-content-body>
 *   <div class="eui-u-f-2xl-bold">$45,231</div>
 *   <div class="eui-u-flex eui-u-gap-xs">
 *     <eui-icon-svg icon="arrow-up:regular" fillColor="success" size="xs"/>
 *     <span class="eui-u-c-s-success eui-u-f-s">+18.2% from last week</span>
 *   </div>
 * </eui-dashboard-card-content-body>
 * ```
 *
 * ### Accessibility
 * - Use semantic HTML for data presentation
 * - Provide text alternatives for visual indicators (icons, colors)
 * - Ensure metrics have descriptive labels for screen readers
 * - Use appropriate ARIA attributes for dynamic content
 *
 * ### Notes
 * - Main content area with flexible height
 * - Supports any content: text, charts, lists, or custom components
 * - Use utility classes for consistent typography and spacing
 * - Grows to fill available space between header and footer
 */
declare class EuiDashboardCardContentBodyComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentBodyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentBodyComponent, "eui-dashboard-card-content-body", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Footer section for custom dashboard cards, typically containing action links, buttons, or supplementary information.
 * Provides a consistent bottom section for card actions and metadata.
 *
 * @usageNotes
 * ### Action Link
 * ```html
 * <eui-dashboard-card-content-footer>
 *   <a class="eui-u-text-link" href="/details">View details</a>
 * </eui-dashboard-card-content-footer>
 * ```
 *
 * ### Multiple Actions
 * ```html
 * <eui-dashboard-card-content-footer>
 *   <div class="eui-u-flex eui-u-justify-between">
 *     <eui-icon-button icon="eui-refresh" size="s" aria-label="Refresh"/>
 *     <a class="eui-u-text-link" href="/export">Export data</a>
 *   </div>
 * </eui-dashboard-card-content-footer>
 * ```
 *
 * ### Accessibility
 * - Ensure links and buttons have descriptive text or aria-labels
 * - Maintain sufficient color contrast for footer content
 * - Use semantic elements for actions (buttons, links)
 *
 * ### Notes
 * - Optional footer section for card actions
 * - Automatically positioned at bottom of card
 * - Supports any content: links, buttons, text, or custom components
 * - Use flex utilities for multi-element layouts
 */
declare class EuiDashboardCardContentFooterComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentFooterComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentFooterComponent, "eui-dashboard-card-content-footer", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Header section for custom dashboard card content, typically containing an icon, title, and action buttons.
 * Provides a consistent layout for card headers with flexible content projection.
 *
 * @usageNotes
 * ### Basic Header
 * ```html
 * <eui-dashboard-card-content-header>
 *   <eui-dashboard-card-content-header-icon icon="chart-bar:regular"/>
 *   <eui-dashboard-card-content-header-title>
 *     Revenue
 *   </eui-dashboard-card-content-header-title>
 * </eui-dashboard-card-content-header>
 * ```
 *
 * ### With Action Button
 * ```html
 * <eui-dashboard-card-content-header>
 *   <eui-dashboard-card-content-header-icon icon="users:regular"/>
 *   <eui-dashboard-card-content-header-title>
 *     Active Users
 *   </eui-dashboard-card-content-header-title>
 *   <eui-dashboard-card-content-header-action>
 *     <eui-icon-button icon="eui-settings" size="s" aria-label="Settings"/>
 *   </eui-dashboard-card-content-header-action>
 * </eui-dashboard-card-content-header>
 * ```
 *
 * ### Accessibility
 * - Use semantic heading elements within title component
 * - Provide aria-label for icon-only action buttons
 * - Ensure sufficient color contrast for icons and text
 *
 * ### Notes
 * - Automatically arranges icon, title, and action in a flex layout
 * - Icon and action sections are optional
 * - Title section grows to fill available space
 * - Combine with other content sub-components for complete card structure
 */
declare class EuiDashboardCardContentHeaderComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentHeaderComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentHeaderComponent, "eui-dashboard-card-content-header", never, {}, {}, never, ["eui-dashboard-card-content-header-icon", "eui-dashboard-card-content-header-title", "eui-dashboard-card-content-header-action", "*"], true, never>;
}

/**
 * @description
 * Action area for dashboard card headers, typically containing buttons or interactive elements.
 * Positioned at the end of the header for quick access to card-level actions.
 *
 * @usageNotes
 * ### Single Action Button
 * ```html
 * <eui-dashboard-card-content-header-action>
 *   <eui-icon-button icon="eui-settings" size="s" aria-label="Card settings"/>
 * </eui-dashboard-card-content-header-action>
 * ```
 *
 * ### Menu Button
 * ```html
 * <eui-dashboard-card-content-header-action>
 *   <eui-icon-button
 *     icon="eui-ellipsis-vertical"
 *     euiRounded
 *     size="s"
 *     aria-label="More options"
 *     [euiPopover]="menu"/>
 * </eui-dashboard-card-content-header-action>
 * ```
 *
 * ### Accessibility
 * - Always provide aria-label for icon-only buttons
 * - Ensure buttons have sufficient touch target size
 * - Use appropriate ARIA attributes for menus and dropdowns
 *
 * ### Notes
 * - Use within `eui-dashboard-card-content-header` component
 * - Typically contains icon buttons for space efficiency
 * - Positioned at the end of the header (right side in LTR)
 * - Supports any interactive element: buttons, dropdowns, toggles
 */
declare class EuiDashboardCardContentHeaderActionComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentHeaderActionComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentHeaderActionComponent, "eui-dashboard-card-content-header-action", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Icon component for dashboard card headers, displaying a visual indicator for the card's content type.
 * Automatically sized and styled to fit within the header layout.
 *
 * @usageNotes
 * ### Basic Icon
 * ```html
 * <eui-dashboard-card-content-header-icon icon="chart-bar:regular"/>
 * ```
 *
 * ### With Different Icons
 * ```html
 * <eui-dashboard-card-content-header-icon icon="users:regular"/>
 * <eui-dashboard-card-content-header-icon icon="shopping-cart:regular"/>
 * <eui-dashboard-card-content-header-icon icon="eui-calendar"/>
 * ```
 *
 * ### Accessibility
 * - Icon is decorative when paired with title text
 * - Inherits color from parent card variant
 * - Size is fixed at 's' for consistency
 *
 * ### Notes
 * - Use within `eui-dashboard-card-content-header` component
 * - Supports all EUI icon names and Font Awesome icons
 * - Icon color adapts to card variant automatically
 * - Fixed size ensures consistent header appearance
 */
declare class EuiDashboardCardContentHeaderIconComponent {
    /** CSS class applied to the host element */
    string: string;
    icon: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentHeaderIconComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentHeaderIconComponent, "eui-dashboard-card-content-header-icon", never, { "icon": { "alias": "icon"; "required": false; }; }, {}, never, never, true, never>;
}

/**
 * @description
 * Title component for dashboard card headers, displaying the primary heading or label for the card.
 * Automatically styled and positioned within the header layout.
 *
 * @usageNotes
 * ### Basic Title
 * ```html
 * <eui-dashboard-card-content-header-title>
 *   Revenue Overview
 * </eui-dashboard-card-content-header-title>
 * ```
 *
 * ### With Semantic Heading
 * ```html
 * <eui-dashboard-card-content-header-title>
 *   <h3>Active Users</h3>
 * </eui-dashboard-card-content-header-title>
 * ```
 *
 * ### Accessibility
 * - Use semantic heading elements (h2, h3, etc.) for proper document structure
 * - Ensure heading level matches page hierarchy
 * - Title provides context for card content
 *
 * ### Notes
 * - Use within `eui-dashboard-card-content-header` component
 * - Grows to fill available space between icon and action
 * - Supports any content but typically contains text or headings
 * - Text automatically truncates if too long
 */
declare class EuiDashboardCardContentHeaderTitleComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardContentHeaderTitleComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardContentHeaderTitleComponent, "eui-dashboard-card-content-header-title", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Status indicator container for dashboard cards, displaying badges, chips, or status information.
 * Positioned separately from main content to highlight important state or metadata.
 *
 * @usageNotes
 * ### Status Badge
 * ```html
 * <eui-dashboard-card-status-content>
 *   <eui-chip euiSizeS euiSuccess>Active</eui-chip>
 * </eui-dashboard-card-status-content>
 * ```
 *
 * ### Warning Status
 * ```html
 * <eui-dashboard-card-status-content>
 *   <eui-chip euiSizeS euiOutline euiWarning>Pending Review</eui-chip>
 * </eui-dashboard-card-status-content>
 * ```
 *
 * ### Multiple Indicators
 * ```html
 * <eui-dashboard-card-status-content>
 *   <eui-badge euiInfo>New</eui-badge>
 *   <eui-chip euiSizeS euiOutline>Draft</eui-chip>
 * </eui-dashboard-card-status-content>
 * ```
 *
 * ### Accessibility
 * - Status information should be conveyed through text, not color alone
 * - Use semantic elements (badges, chips) with descriptive text
 * - Ensure sufficient color contrast for status indicators
 *
 * ### Notes
 * - Use alongside `eui-dashboard-card-content` for status display
 * - Typically contains badges, chips, or status labels
 * - Positioned independently from main card content
 * - Supports multiple status indicators
 */
declare class EuiDashboardCardStatusContentComponent {
    /** CSS class applied to the host element */
    string: string;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardStatusContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardStatusContentComponent, "eui-dashboard-card-status-content", never, {}, {}, never, ["*"], true, never>;
}

/**
 * @description
 * Dashboard card component that can display content with various styling options, including avatar/icon, labels, and clickable behavior.
 *
 * @usageNotes
 * ### Basic Usage
 * ```html
 * <eui-dashboard-card
 *   label="Project Status"
 *   subLabel="Last updated today"
 *   iconSvgName="eui-folder">
 * </eui-dashboard-card>
 * ```
 *
 * ### With Navigation
 * ```typescript
 * <eui-dashboard-card
 *   label="View Details"
 *   url="/dashboard/details"
 *   iconSvgName="eui-chart">
 * </eui-dashboard-card>
 * ```
 *
 * ### Accessibility
 * - Automatically sets `tabindex="0"` when clickable or has URL for keyboard navigation
 * - Use `iconLabel` to provide accessible text for icon-only cards
 * - Card emits `cardClick` event for custom interactions
 * - Supports disabled state via `euiDisabled` directive
 *
 * ### Notes
 * - Use `isHorizontal` for side-by-side layout of avatar and content
 * - Combine with `euiVariant` and size directives for visual hierarchy
 * - `labelMaxLines` and `subLabelMaxLines` control text truncation
 * - External links automatically open in new tab with `urlExternalTarget`
 */
declare class EuiDashboardCardComponent implements OnInit {
    /**
     * @description
     * Computes and returns the CSS classes for the dashboard card component based on its current state:
     * - Adds base dashboard card classes
     * - Adds horizontal layout class if isHorizontal is true
     * - Adds link class if the card is clickable or has a URL
     * - Adds flat class if isFlat is true
     *
     * @returns {string} Space-separated string of CSS class names
     */
    get cssClasses(): string;
    /** Element attribute for e2e testing */
    e2eAttr: string;
    /** Primary label/title of the card */
    label: string;
    /** Secondary label/subtitle of the card */
    subLabel: string;
    /**
     * Maximum number of lines for the primary label
     * @default 2
     */
    labelMaxLines: 1 | 2 | 3 | 4 | 5;
    /**
     * Maximum number of lines for the secondary label
     * @default 2
     */
    subLabelMaxLines: 1 | 2 | 3 | 4 | 5;
    /** URL for the avatar image */
    imageUrl: string;
    /** Name of the icon to display */
    iconSvgName: string;
    /**
     * Size of the icon
     * @default 'm'
     */
    iconSvgSize: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' | '2xl' | '3xl' | '4xl';
    /** Label for the icon (accessibility) */
    iconLabel: string;
    /** Internal router link URL */
    url: string;
    /** External URL */
    urlExternal: string;
    /** Target attribute for external URLs */
    urlExternalTarget: string;
    /**
     * Extra color palette to be used on the card.
     */
    colorPalette: string;
    /** Tab index for keyboard navigation */
    get tabindex(): string;
    /** Whether to display the card in horizontal layout */
    isHorizontal: boolean;
    /** Whether to display the avatar without elevation */
    isFlatAvatar: boolean;
    /** Whether to display the avatar without background */
    hasNoBackgroundAvatar: boolean;
    /** Whether the card is clickable */
    isClickeable: boolean;
    /** Whether to display the card without elevation */
    isFlat: boolean;
    /** Whether to display the card without elevation */
    isStacked: boolean;
    /** Event emitted when the card is clicked */
    cardClick: EventEmitter<MouseEvent>;
    /** Reference to the custom content component */
    customContent: QueryList<EuiDashboardCardContentComponent>;
    baseStatesDirective: BaseStatesDirective;
    /** Handles card click events */
    onClick(event: MouseEvent): void;
    /** Sets default size and variant if not provided */
    ngOnInit(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<EuiDashboardCardComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<EuiDashboardCardComponent, "eui-dashboard-card", never, { "e2eAttr": { "alias": "e2eAttr"; "required": false; }; "label": { "alias": "label"; "required": false; }; "subLabel": { "alias": "subLabel"; "required": false; }; "labelMaxLines": { "alias": "labelMaxLines"; "required": false; }; "subLabelMaxLines": { "alias": "subLabelMaxLines"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; "iconSvgName": { "alias": "iconSvgName"; "required": false; }; "iconSvgSize": { "alias": "iconSvgSize"; "required": false; }; "iconLabel": { "alias": "iconLabel"; "required": false; }; "url": { "alias": "url"; "required": false; }; "urlExternal": { "alias": "urlExternal"; "required": false; }; "urlExternalTarget": { "alias": "urlExternalTarget"; "required": false; }; "colorPalette": { "alias": "colorPalette"; "required": false; }; "isHorizontal": { "alias": "isHorizontal"; "required": false; }; "isFlatAvatar": { "alias": "isFlatAvatar"; "required": false; }; "hasNoBackgroundAvatar": { "alias": "hasNoBackgroundAvatar"; "required": false; }; "isClickeable": { "alias": "isClickeable"; "required": false; }; "isFlat": { "alias": "isFlat"; "required": false; }; "isStacked": { "alias": "isStacked"; "required": false; }; }, { "cardClick": "cardClick"; }, ["customContent"], ["eui-dashboard-card-content", "eui-dashboard-card-status-content", "*"], true, [{ directive: typeof i1.BaseStatesDirective; inputs: { "euiPrimary": "euiPrimary"; "euiSecondary": "euiSecondary"; "euiSuccess": "euiSuccess"; "euiInfo": "euiInfo"; "euiWarning": "euiWarning"; "euiDanger": "euiDanger"; "euiVariant": "euiVariant"; "euiSizeXS": "euiSizeXS"; "euiSizeS": "euiSizeS"; "euiSizeM": "euiSizeM"; "euiSizeL": "euiSizeL"; "euiSizeXL": "euiSizeXL"; "euiSize2XL": "euiSize2XL"; "euiSizeVariant": "euiSizeVariant"; "euiDisabled": "euiDisabled"; "euiOutline": "euiOutline"; }; outputs: {}; }]>;
    static ngAcceptInputType_isHorizontal: unknown;
    static ngAcceptInputType_isFlatAvatar: unknown;
    static ngAcceptInputType_hasNoBackgroundAvatar: unknown;
    static ngAcceptInputType_isClickeable: unknown;
    static ngAcceptInputType_isFlat: unknown;
    static ngAcceptInputType_isStacked: unknown;
}

declare const EUI_DASHBOARD_CARD: readonly [typeof EuiDashboardCardComponent, typeof EuiDashboardCardContentComponent, typeof EuiDashboardCardContentHeaderComponent, typeof EuiDashboardCardContentHeaderIconComponent, typeof EuiDashboardCardContentHeaderTitleComponent, typeof EuiDashboardCardContentHeaderActionComponent, typeof EuiDashboardCardContentBodyComponent, typeof EuiDashboardCardContentFooterComponent, typeof EuiDashboardCardStatusContentComponent];

export { EUI_DASHBOARD_CARD, EuiDashboardCardComponent, EuiDashboardCardContentBodyComponent, EuiDashboardCardContentComponent, EuiDashboardCardContentFooterComponent, EuiDashboardCardContentHeaderActionComponent, EuiDashboardCardContentHeaderComponent, EuiDashboardCardContentHeaderIconComponent, EuiDashboardCardContentHeaderTitleComponent, EuiDashboardCardStatusContentComponent };
//# sourceMappingURL=eui-components-eui-dashboard-card.d.ts.map
