import { type HTMLAttributes, type ReactNode } from 'react';
import { type VariantProps } from 'class-variance-authority';
declare const resourceChipVariants: (props?: ({
orientation?: "vertical" | "horizontal" | null | undefined;
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
export interface ResourceChipProps extends Omit, 'color'>, VariantProps {
/** Visible resource name. */
label: string;
/**
* Resource colour (any CSS colour string) — drives the whole disc via
* one CSS custom property: a light wash for the fill, and the colour
* mixed toward `--foreground` for the ring and glyph. Omitted → the
* muted token, so the disc degrades to a neutral.
*/
color?: string;
/**
* Glyph inside the colour disc. Defaults to the kit's treatment-chair
* glyph (`Armchair`); pass another Lucide element for rooms/devices.
* Keep it a GLYPH — a short code here would read as a person's
* initials, which is the Avatar's job.
*/
icon?: ReactNode;
/**
* Shorter name shown instead of `label` while `label` does not fit,
* for example a chair's short code. `label` stays the accessible name
* and shows in a tooltip while the short one is on screen. Use
* `abbreviateResourceLabel(label)` when the data has no short code.
*/
shortLabel?: string;
}
/**
* A short form of a resource name for a crowded header: the first letter
* of each word, with numbers kept whole ("Poltrona 12" → "P12", "Sala
* igiene 2" → "SI2"). A single word without a number keeps its first
* three letters, since one letter rarely tells two rooms apart. Pass the
* UI `locale` so capitals follow its rules (Turkish i → İ), and more
* `letters` per word to tell apart two names that abbreviate alike
* ("Poltrona igiene 1" → "PoIg1" at 2).
*/
export declare function abbreviateResourceLabel(label: string, { locale, letters }?: {
locale?: string;
letters?: number;
}): string;
export declare const ResourceChip: import("react").ForwardRefExoticComponent>;
export {};
//# sourceMappingURL=resource-chip.d.ts.map