import { ReactNode } from 'react';
/**
 * Card component untuk menampilkan konten dalam container dengan berbagai varian.
 * Varian: Basic (Vertical), Horizontal, Overlay
 *
 * @param {'basic' | 'horizontal' | 'overlay'} [variant] - Varian card (default: 'basic').
 * @param {'top' | 'bottom' | 'left' | 'right'} [mediaPosition] - Posisi media (default berdasarkan variant).
 * @param {string} [avatar] - Avatar image source.
 * @param {string} [avatarAlt] - Avatar alt text.
 * @param {ReactNode} [title] - Judul card.
 * @param {ReactNode} [description] - Deskripsi card.
 * @param {string} [mediaSrc] - Media image source.
 * @param {string} [mediaAlt] - Media alt text.
 * @param {boolean} [showButton] - Apakah button ditampilkan.
 * @param {string} [buttonText] - Button text.
 * @param {'primary' | 'secondary' | 'tertiary' | 'link'} [buttonHierarchy] - Button hierarchy.
 * @param {boolean} [hoverable] - Apakah card memiliki efek hover.
 * @param {boolean} [clickable] - Apakah card dapat diklik.
 * @param {string} [className] - ClassName tambahan.
 */
export type CardVariant = 'basic' | 'horizontal' | 'overlay';
export type CardMediaPosition = 'top' | 'bottom' | 'left' | 'right';
export interface CardProps {
    /**
     * Varian card: basic (vertical), horizontal, overlay
     */
    variant?: CardVariant;
    /**
     * Posisi media: untuk basic (top/bottom), horizontal (left/right), overlay (top/bottom)
     */
    mediaPosition?: CardMediaPosition;
    /**
     * Avatar image source
     */
    avatar?: string;
    /**
     * Avatar alt text
     */
    avatarAlt?: string;
    /**
     * Judul card
     */
    title?: ReactNode;
    /**
     * Deskripsi card
     */
    description?: ReactNode;
    /**
     * Media image source
     */
    mediaSrc?: string;
    /**
     * Media alt text
     */
    mediaAlt?: string;
    /**
     * Apakah button ditampilkan
     */
    showButton?: boolean;
    /**
     * Button text
     */
    buttonText?: string;
    /**
     * Button hierarchy
     */
    buttonHierarchy?: 'primary' | 'secondary' | 'tertiary' | 'link';
    /**
     * Callback saat button diklik
     */
    onButtonClick?: () => void;
    /**
     * Legacy: Subtitle card
     */
    subtitle?: ReactNode;
    /**
     * Legacy: Apakah header ditampilkan
     */
    showHeader?: boolean;
    /**
     * Legacy: Apakah card memiliki efek hover
     */
    hoverable?: boolean;
    /**
     * Legacy: Apakah card dapat diklik
     */
    clickable?: boolean;
    /**
     * ClassName tambahan
     */
    className?: string;
}
export default function Card({ variant, mediaPosition, avatar, avatarAlt, title, description, mediaSrc, mediaAlt, showButton, buttonText, buttonHierarchy, onButtonClick, showHeader, hoverable, clickable, className, }: CardProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=Card.d.ts.map