import { type ISlottable } from '../../../Behaviors/Slottable';
import { CustomElement } from '../../Abstracts/CustomElement';
import type { ICardElementProps } from './ICardElementProps';
import { ISelectable } from '../../../Behaviors/Selectable';
declare const CardElement_base: (abstract new (...args: Array<any>) => import("../../../../Controls/Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Elevatable").IElevatableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Appearanceable").IAppearanceableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Insetable").IInsetableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Fitable").IFitableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Orientable").IOrientableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/TextFormattable").ITextFormattableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Slottable").ISlottableProps & ISlottable) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Selectable").ISelectableProps & import("../../../Behaviors/Selectable").ISelectableEvents & ISelectable) & typeof CustomElement & import("../../../../Controls/Behaviors/Themeable").IThemeableCtor;
/**
 * Card - A versatile container component for organizing related content in a visually distinct layout.
 *
 * Provides structured sections for media, headers, content, and actions within a cohesive container.
 * Supports elevation effects, selectable states, and flexible content arrangement.
 * Essential for displaying information hierarchies like product listings, user profiles, and content previews.
 *
 * @name CardElement
 * @element mosaik-card
 * @category Grouping
 *
 * @slot cover - Primary visual content like hero images or graphics positioned at the top
 * @slot media - Additional media content such as images, videos, or rich content
 * @slot header - Header section typically containing titles and navigation elements
 * @slot content - Main content body for text, descriptions, or detailed information
 * @slot actions - Action buttons or interactive elements for user engagement
 * @slot footer - Footer section for supplementary information, links, or metadata
 *
 * @csspart elevation - Container for card elevation and shadow effects
 * @csspart cover - Cover image or media container at the top of the card
 * @csspart heading - Header section container for titles and subtitles
 * @csspart content - Main content area container
 * @csspart actions - Actions section container for buttons and controls
 * @csspart footer - Footer section container for additional content
 *
 * @cssprop --card-background-color - Background color of the card container
 * @cssprop --card-border-radius - Border radius for card corners
 * @cssprop --card-padding - Internal padding for card content
 * @cssprop --card-elevation - Elevation level for shadow effects
 * @cssprop --card-border-color - Border color around the card
 * @cssprop --card-border-width - Border width for card outline
 *
 * @dependency ElevationElement - Provides elevation and shadow effects
 * @dependency CardHeaderElement - Structured header layout component
 * @dependency CardContentElement - Main content area component
 * @dependency CardActionsElement - Actions section layout component
 * @dependency CardTitleElement - Title text component
 * @dependency CardSubTitleElement - Subtitle text component
 *
 * @example
 * ```html
 * <!-- Basic content card -->
 * <mosaik-card>
 *   <mosaik-card-header slot="header">
 *     <mosaik-card-title>Product Name</mosaik-card-title>
 *     <mosaik-card-sub-title>Premium Edition</mosaik-card-sub-title>
 *   </mosaik-card-header>
 *   <mosaik-card-content slot="content">
 *     <p>Detailed product description and features.</p>
 *   </mosaik-card-content>
 *   <mosaik-card-actions slot="actions">
 *     <mosaik-button>Learn More</mosaik-button>
 *     <mosaik-button appearance="primary">Buy Now</mosaik-button>
 *   </mosaik-card-actions>
 * </mosaik-card>
 *
 * <!-- Media card with cover -->
 * <mosaik-card elevation="2">
 *   <img slot="cover" src="hero.jpg" alt="Product image">
 *   <div slot="content">
 *     <h3>Article Title</h3>
 *     <p>Article summary and preview content.</p>
 *   </div>
 *   <div slot="footer">
 *     <span>Published: March 2024</span>
 *   </div>
 * </mosaik-card>
 *
 * <!-- Selectable card -->
 * <mosaik-card selectable selected>
 *   <div slot="header">
 *     <h4>Option A</h4>
 *   </div>
 *   <div slot="content">
 *     <p>This option provides the best value.</p>
 *   </div>
 * </mosaik-card>
 * ```
 *
 * @public
 */
export declare class CardElement extends CardElement_base implements ICardElementProps, ISlottable, ISelectable {
    private _header;
    private _subHeader;
    private _content;
    private _inlineMedia;
    /**
     * @public
     */
    constructor();
    /**
     * Returns the `is` property.
     *
     * @public
     * @static
     * @readonly
    */
    static get is(): string;
    /**
     * The `header` property represents the header of the card.
     * It will inherited automatically by the `CardHeaderElement`.
     *
     * @public
     */
    get header(): string;
    set header(value: string);
    /**
     * The `subHeader` property represents the sub header of the card.
     * It will inherited automatically by the `CardSubTitleElement`.
     *
     * @public
     */
    get subHeader(): string;
    set subHeader(value: string);
    /**
     * Gets or sets the `content` property.
     *
     * @public
     */
    get content(): string;
    set content(value: string);
    /**
     * Gets or sets the `inlineMedia` property.
     *
     * @public
     * @attr
     */
    get inlineMedia(): boolean;
    set inlineMedia(value: boolean);
}
/**
 * @public
 */
export declare namespace CardElement {
    type Props = ICardElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-card': CardElement;
    }
}
export {};
//# sourceMappingURL=CardElement.d.ts.map