import { type ComponentPropsWithoutRef, type ReactNode } from "react";
export type ToolCategory = "search" | "database" | "web" | "code" | "file" | "api" | "ai" | "custom";
type DivPropsBase = Omit<ComponentPropsWithoutRef<"div">, "onChange" | "onToggle" | "children" | "role" | "tabIndex">;
export interface ToolCardProps extends DivPropsBase {
    name: ReactNode;
    description?: ReactNode;
    icon?: ReactNode;
    category?: ToolCategory;
    /** When set, renders a switch on the right reflecting this value. */
    enabled?: boolean;
    onToggle?: (next: boolean) => void;
    /** Hide the toggle entirely (use for read-only registry views). */
    hideToggle?: boolean;
    /** Show "NEW" badge next to the name. */
    isNew?: boolean;
    /** Disabled state (e.g. waiting on auth). Disables switch + click. */
    disabled?: boolean;
    /** Right-aligned secondary text (e.g. "Connect Slack →"). */
    badge?: ReactNode;
    /** Compact / dense vertical padding. */
    compact?: boolean;
    /** Whole-card click handler — makes the card a `role="button"`. */
    onClick?: () => void;
}
export declare const ToolCard: import("react").ForwardRefExoticComponent<ToolCardProps & import("react").RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=ToolCard.d.ts.map