import { type ComponentPropsWithoutRef, type MouseEvent, type ReactNode } from "react";
import { type CardRadius } from "../Card";
export type DatasetHealth = "fresh" | "stale" | "broken" | "unknown" | "verified";
export type DatasetCardLayout = "row" | "tile";
export interface DatasetCardStat {
    label: ReactNode;
    value: ReactNode;
}
export interface DatasetCardProps extends Omit<ComponentPropsWithoutRef<"div">, "title" | "onChange" | "onClick" | "onDrag" | "onDragStart" | "onDragEnd" | "onAnimationStart"> {
    /** Table / dataset name (e.g. "orders.line_items"). */
    name: ReactNode;
    /** Heading level for the name. Default `"h3"`. */
    nameAs?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
    /** Source + database label (e.g. "snowflake · production"). */
    source?: ReactNode;
    /** Optional source / database logo. */
    sourceIcon?: ReactNode;
    /** Health indicator — drives the dot color + label. */
    health?: DatasetHealth;
    /** Override the health pill label (defaults to humanized health). */
    healthLabel?: ReactNode;
    /** Optional descriptive line (1–2 lines). */
    description?: ReactNode;
    /**
     * Quick stat strip. Common in catalogs:
     *   - row count, size on disk, column count
     *   - updated-at, owner
     * Default styling is mono / tabular for clean alignment.
     */
    stats?: DatasetCardStat[];
    /** Last-updated label (rendered in the meta strip). */
    updatedAt?: ReactNode;
    /** Owner handle / team (rendered in the meta strip). */
    owner?: ReactNode;
    /** Tag chips (e.g. "pii", "verified", "deprecated"). */
    tags?: ReactNode[];
    /** Right-aligned trailing slot (icon button, badge). */
    trailing?: ReactNode;
    /** Footer link / action ("View schema →"). */
    footer?: ReactNode;
    /** Visual layout — row (horizontal) or tile (vertical). Default `"row"`. */
    layout?: DatasetCardLayout;
    /** Size. Default `"md"`. */
    size?: "sm" | "md" | "lg";
    /** Render the card as a real `<a>` when href is provided. */
    href?: string;
    /** Whole-card click handler. */
    onClick?: (e: MouseEvent<HTMLDivElement>) => void;
    /** Disable interaction. */
    disabled?: boolean;
    /** Card corner radius (passes through). */
    radius?: CardRadius;
}
export declare const DatasetCard: import("react").ForwardRefExoticComponent<DatasetCardProps & import("react").RefAttributes<HTMLDivElement>>;
//# sourceMappingURL=DatasetCard.d.ts.map