import { ElementRef, EventEmitter, OnChanges, OnDestroy, OnInit } from '@angular/core';
import { ColorAccent, CssClassBuilder, Nullable } from '@fundamental-ngx/cdk/utils';
import { ContentDensityObserver } from '@fundamental-ngx/core/content-density';
import { ObjectStatus } from '@fundamental-ngx/core/object-status';
import { CardFocusItem } from './card-focus-item.model';
import { CardType } from './constants';
import { CardTitleDirective } from './header-elements/card-title.directive';
import { CardMediaHeadingDirective } from './media/card-media-heading.directive';
import * as i0 from "@angular/core";
export declare class CardComponent<T = any> extends CardFocusItem<T> implements OnChanges, OnInit, CssClassBuilder, OnDestroy {
    readonly elementRef: ElementRef<HTMLElement>;
    readonly _contentDensityObserver: ContentDensityObserver;
    /** @hidden */
    cardTitle: import("@angular/core").Signal<CardTitleDirective | undefined>;
    /** @hidden */
    cardMediaHeading: import("@angular/core").Signal<CardMediaHeadingDirective | undefined>;
    /**
     * text for the card badge
     */
    badge: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * icon/glyph for the card badge
     */
    badgeIcon: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * Indication color for the card badge
     * Possible values: integers from 1 to 10
     */
    badgeColor: import("@angular/core").InputSignal<Nullable<ColorAccent>>;
    /**
     * Whether to use secondary set of indication colors for the card badge
     * Default value: false
     */
    badgeColorSecondary: import("@angular/core").InputSignal<boolean>;
    /**
     * Color status for the card badge
     * Possible values: 'negative' | 'critical' | 'positive' | 'informative' | 'neutral'
     * Default value: null
     */
    badgeStatus: import("@angular/core").InputSignal<Nullable<ObjectStatus>>;
    /**
     * aria-label for the card badge
     * Default value: null
     */
    badgeAriaLabel: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * text for the card second badge
     */
    secondBadge: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * icon/glyph for the card second badge
     */
    secondBadgeIcon: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * Indication color for the card second badge
     * Possible values: integers from 1 to 10
     */
    secondBadgeColor: import("@angular/core").InputSignal<Nullable<ColorAccent>>;
    /**
     * Whether to use secondary set of indication colors for the card second badge
     * Default value: false
     */
    secondBadgeColorSecondary: import("@angular/core").InputSignal<boolean>;
    /**
     * Color status for the card second badge
     * Possible values: 'negative' | 'critical' | 'positive' | 'informative' | 'neutral'
     * Default value: null
     */
    secondBadgeStatus: import("@angular/core").InputSignal<Nullable<ObjectStatus>>;
    /**
     * aria-label for the card second badge
     * Default value: null
     */
    secondBadgeAriaLabel: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * whether the card is in loading state
     * default: false
     */
    isLoading: import("@angular/core").InputSignal<boolean>;
    /**
     * set the Caard type
     * options: 'object' | 'standard' | 'component' | 'analytical' | 'list' | 'table' | 'quickView' | 'linkList' | 'banner'
     * default: 'standard'
     *
     */
    cardType: import("@angular/core").InputSignal<CardType>;
    /**
     * card id
     * if not set, a default value is provided
     */
    id: import("@angular/core").InputSignal<string>;
    /**
     * card aria-roledescription
     * default: 'Card'
     */
    ariaRoledescription: import("@angular/core").InputSignal<string>;
    /**
     * card aria-description
     * default: 'Activate for action or navigation'
     */
    ariaDescription: import("@angular/core").InputSignal<string>;
    /**
     * card aria-label
     * used when there's no title describing the card
     */
    ariaLabel: import("@angular/core").InputSignal<Nullable<string>>;
    /**
     * card role
     * default: 'region'
     */
    role: import("@angular/core").InputSignal<string>;
    /**
     * whether the card is interactive
     * default: false
     */
    interactive: import("@angular/core").InputSignal<boolean>;
    /**
     * whether the card is selected
     * default: false
     */
    selected: import("@angular/core").InputSignal<boolean>;
    /**
     * value for aria-posinset
     */
    ariaPosinset: import("@angular/core").ModelSignal<Nullable<number>>;
    /**
     * value for aria-setsize
     */
    ariaSetsize: import("@angular/core").ModelSignal<Nullable<number>>;
    /**
     * @hidden
     * Implementation of KeyboardSupportItemInterface
     */
    keyDown: EventEmitter<KeyboardEvent>;
    /** @hidden */
    class: string;
    /** @hidden */
    private _subscriptions;
    /** @hidden */
    constructor(elementRef: ElementRef<HTMLElement>, _contentDensityObserver: ContentDensityObserver);
    /** @hidden */
    keydownHandler(event: KeyboardEvent): void;
    /** @hidden */
    buildComponentCssClass(): string[];
    /** @hidden */
    ngOnChanges(): void;
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CardComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CardComponent<any>, "fd-card", never, { "badge": { "alias": "badge"; "required": false; "isSignal": true; }; "badgeIcon": { "alias": "badgeIcon"; "required": false; "isSignal": true; }; "badgeColor": { "alias": "badgeColor"; "required": false; "isSignal": true; }; "badgeColorSecondary": { "alias": "badgeColorSecondary"; "required": false; "isSignal": true; }; "badgeStatus": { "alias": "badgeStatus"; "required": false; "isSignal": true; }; "badgeAriaLabel": { "alias": "badgeAriaLabel"; "required": false; "isSignal": true; }; "secondBadge": { "alias": "secondBadge"; "required": false; "isSignal": true; }; "secondBadgeIcon": { "alias": "secondBadgeIcon"; "required": false; "isSignal": true; }; "secondBadgeColor": { "alias": "secondBadgeColor"; "required": false; "isSignal": true; }; "secondBadgeColorSecondary": { "alias": "secondBadgeColorSecondary"; "required": false; "isSignal": true; }; "secondBadgeStatus": { "alias": "secondBadgeStatus"; "required": false; "isSignal": true; }; "secondBadgeAriaLabel": { "alias": "secondBadgeAriaLabel"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "cardType": { "alias": "cardType"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "ariaRoledescription": { "alias": "ariaRoledescription"; "required": false; "isSignal": true; }; "ariaDescription": { "alias": "ariaDescription"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "role": { "alias": "role"; "required": false; "isSignal": true; }; "interactive": { "alias": "interactive"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; "ariaPosinset": { "alias": "ariaPosinset"; "required": false; "isSignal": true; }; "ariaSetsize": { "alias": "ariaSetsize"; "required": false; "isSignal": true; }; }, { "ariaPosinset": "ariaPosinsetChange"; "ariaSetsize": "ariaSetsizeChange"; }, ["cardTitle", "cardMediaHeading"], ["*", "fd-card-footer", "fd-card-loader"], true, never>;
}
