import { EventEmitter } from '../../stencil-public-runtime';
import { CallbackFunction, DynamicMethod } from "../../managers/AutoCallback/AutoCallbackManager";
import { LANGUAGE_TYPES } from "../../managers/language/constants";
import { CardGradientTypes, DetailsAttribute, IconProps, PriceData, TagProps } from './sl-subscription-card-types';
export declare class SlSubscriptionCard {
    /**
     * Index signature for dynamic callback methods injected by AutoCallbackManager.
     */
    [key: DynamicMethod]: CallbackFunction;
    private setInvokeSubscriptionSelectedCallback;
    private setInvokeActionButtonCallback;
    private callSubscriptionSelectedAction;
    private handleActionButtonAction;
    el: HTMLSlSubscriptionCardElement;
    /** Title at the top of the card */
    cardTitle: string;
    /** To make card selectable or unselectable */
    isInputDisabled: boolean;
    /** If the card is currently selected */
    isInputSelected: boolean;
    /** Value represented by the card, will be emitted when card is selected */
    value?: string | number;
    /** Main header text */
    subscriptionName?: string;
    /** Gradient image at behind the card */
    gradientType?: CardGradientTypes;
    /** Input element data test attribute for testing purposes */
    inputDataTest?: string;
    /** SDX tag displayed at the top of the card */
    tag?: TagProps;
    /** Label displayed on the input button, input will not render if empty */
    inputLabel?: string;
    /** Icons displayed next to the subscriptionName, multiple are possible */
    headerIcons?: IconProps[];
    /** Price related information */
    priceData?: PriceData;
    /** Status of the subscription, e.g. "Current", "Target", etc. */
    subscriptionStatus?: string;
    /** Data of the product information to be displayed in the details section */
    subscriptionDetails?: DetailsAttribute[];
    /** Label for the link at the bottom of the card */
    actionButtonLabel?: string;
    /** Callback when subscription card is selected */
    subscriptionSelectedCallback?: (value: string | number | undefined) => void;
    /** Callback when action button at the bottom is clicked */
    actionButtonCallback?: () => void;
    /** Emitted when radio button of the subscription card is clicked. Value is equal to the value prop */
    subscriptionSelectedEvent: EventEmitter<string | number | undefined>;
    /** Emitted when action button at the bottom is clicked */
    actionButtonEvent: EventEmitter<void>;
    language: LANGUAGE_TYPES;
    subscriptionSelectedCallbackChanged(): void;
    actionButtonCallbackChanged(): void;
    constructor();
    private getIconSrHint;
    private getBackgroundImageSrc;
    private renderBackgroundImage;
    private renderTitle;
    private renderHeaderAndIcons;
    private renderPrice;
    private renderStatus;
    private renderInput;
    private renderDetails;
    private renderActionButton;
    render(): any;
}
