import { type LucideIcon } from 'lucide-react'; import type { BadgeProps } from '../../badge/badge'; import type { WorkflowStatusTone } from '../../workflow-status/workflow-status'; /** The closed set of Badge variants the entity cards may use. */ type BadgeVariant = NonNullable; /** * Shared card surface — `elevated` paints the kit card chrome (fill, * hairline border, shadow); `flat` drops it for use inside an existing * Card / Sheet. `density` tunes the internal padding. */ export declare const entitySurfaceVariants: (props?: ({ surface?: "elevated" | "flat" | null | undefined; density?: "comfortable" | "compact" | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; /** Care-plan lifecycle state → Badge variant. */ export declare const CARE_PLAN_STATE_BADGE: { readonly estimate: "info"; readonly accepted: "success"; readonly discarded: "error"; readonly closed: "neutral"; }; export type CarePlanState = keyof typeof CARE_PLAN_STATE_BADGE; /** Appointment lifecycle state → Badge variant. */ export declare const APPOINTMENT_STATE_BADGE: { readonly absent: "error"; readonly waiting: "warning"; readonly in_care: "info"; readonly done: "success"; readonly cancelled: "error"; readonly confirmed: "success"; }; export type AppointmentState = keyof typeof APPOINTMENT_STATE_BADGE; /** * Appointment lifecycle state → the WorkflowStatus tone and glyph. * * The SAME status shown on a card, in a details footer, in a hover preview * and in a history entry has to wear one face, so the tone and the glyph live * here rather than being chosen per surface. `absent` is `UserX`, not a * lightning bolt: the old glyph said nothing about a missed appointment. * * Kept beside the Badge map rather than replacing it — a surface that needs a * plain chip (a dense table row) still has one. */ export declare const APPOINTMENT_STATE_WORKFLOW: { readonly confirmed: { readonly tone: "success"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; readonly waiting: { readonly tone: "info"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; readonly in_care: { readonly tone: "accent"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; readonly done: { readonly tone: "success"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; readonly cancelled: { readonly tone: "error"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; readonly absent: { readonly tone: "warning"; readonly Icon: import("react").ForwardRefExoticComponent & import("react").RefAttributes>; }; }; /** Resolve a state to its workflow tone + glyph, neutral for the unknown. */ export declare function appointmentStateWorkflow(state: string): { tone: WorkflowStatusTone; Icon: LucideIcon; }; /** Fallback variant for an unknown / out-of-vocabulary appointment state. */ export declare const APPOINTMENT_STATE_BADGE_DEFAULT: BadgeVariant; /** * Resolve an appointment state to its Badge variant, falling back to a * neutral chip for any value outside the known vocabulary. */ export declare function appointmentStateBadge(state: string): BadgeVariant; export declare function colorIdToToken(colorId: number | string | null | undefined): string; /** * Avatar-fill variant of {@link colorIdToToken} — returns the same operator * hue at an AA-safe darkness for swatches that carry the Avatar's light * initials. Pair it with the bright -500 dot from {@link colorIdToToken}. */ export declare function colorIdToAvatarToken(colorId: number | string | null | undefined): string; export { isSafeEntityUrl } from '../is-safe-url'; //# sourceMappingURL=entity-card.d.ts.map