import { OnInit, ElementRef, EventEmitter, SimpleChanges, ChangeDetectorRef } from "@angular/core";
import { BehaviorSubject } from "rxjs";
import { CssUtils } from "../utils";
import { BackgroundProviderService } from "../background-provider/service/background-provider.service";
import * as i0 from "@angular/core";
declare type Space = "xxsmall" | "xsmall" | "small" | "medium" | "large" | "xlarge" | "xxlarge";
declare type Size = {
    top?: Space;
    bottom?: Space;
    left?: Space;
    right?: Space;
};
export declare class DxcCardComponent implements OnInit {
    private utils;
    private cdRef;
    bgProviderService?: BackgroundProviderService;
    /**
     * URL of the image that will be placed in the card component.
     */
    imageSrc: string;
    /**
     * Color of the image background.
     */
    imageBgColor: string;
    /**
     * Size of the padding to be applied to the image section of the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different padding sizes.
     */
    imagePadding: Space | Size;
    /**
     * Whether the image should appear in relation to the content.
     */
    imagePosition: "after" | "before";
    /**
     * Size of the padding to be applied to the content section of the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties
     * in order to specify different padding sizes.
     */
    contentPadding: Space | Size;
    /**
     * If defined, the card will be displayed as an anchor, using this prop as "href".
     * Component will show some visual feedback on hover.
     */
    linkHref: string;
    /**
     * This event will emit when the user clicks the card. Component will show some
     * visual feedback on hover.
     */
    onClick: EventEmitter<void>;
    /**
     * Whether the image must cover the whole image area of the card.
     */
    get imageCover(): boolean;
    set imageCover(value: boolean);
    private _imageCover;
    /**
     * Size of the margin to be applied to the component
     * ('xxsmall' | 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge').
     * You can pass an object with 'top', 'bottom', 'left' and 'right' properties in
     * order to specify different margin sizes.
     */
    margin: Space | Size;
    /**
     * Value of the tabindex given when there is an href.
     */
    get tabIndexValue(): number;
    set tabIndexValue(value: number);
    private _tabIndexValue;
    /**
     * Whether the card must be outlined.
     */
    outlined: boolean;
    private isHovered;
    className: any;
    content: ElementRef;
    defaultInputs: BehaviorSubject<any>;
    ngOnChanges(changes: SimpleChanges): void;
    constructor(utils: CssUtils, cdRef: ChangeDetectorRef, bgProviderService?: BackgroundProviderService);
    ngOnInit(): void;
    ngAfterContentChecked(): void;
    onClickHandler($event: any): void;
    applyTheme(href: any, outlined: any): string;
    changeIsHovered(isHovered: boolean): void;
    getShadowDepth(): "0" | "1" | "2";
    getCursor(href: any): string;
    getShadowDepthOnHover(href: any): "1" | "2";
    getDynamicStyle(inputs: any): string;
    static ɵfac: i0.ɵɵFactoryDeclaration<DxcCardComponent, [null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DxcCardComponent, "dxc-card", never, { "imageSrc": "imageSrc"; "imageBgColor": "imageBgColor"; "imagePadding": "imagePadding"; "imagePosition": "imagePosition"; "contentPadding": "contentPadding"; "linkHref": "linkHref"; "imageCover": "imageCover"; "margin": "margin"; "tabIndexValue": "tabIndexValue"; "outlined": "outlined"; }, { "onClick": "onClick"; }, never, ["*"]>;
}
export {};
//# sourceMappingURL=dxc-card.component.d.ts.map