import { type ReactNode } from "react"; import { type LayoutStyle } from "../../style/index.js"; import { type EmblemSkin } from "./emblem.styles.js"; export type Tone = "primary" | "destructive" | "success" | "warning" | "cyan" | "secondary" | "muted"; export type EmblemSize = "small" | "default" | "large"; export interface EmblemProps { /** A single `` element; Emblem tints it to match the tone. */ children?: ReactNode; /** A monogram letter (or two) instead of an icon, painted in the tone color. */ label?: string; primary?: boolean; destructive?: boolean; success?: boolean; warning?: boolean; /** * The fixed cyan hue (the hand-off's `--cyan`, the `chart-2` series): its wash and ring * mixed from it, the glyph in the hue's ink, solved to 4.5:1 per scheme (Typography's `cyan`). */ cyan?: boolean; /** * The solid neutral tile: the `secondary` fill inside the `border` hairline, the glyph in * the second ink (`muted-foreground`), with no lit top edge (the hand-off's neutral tile). */ secondary?: boolean; muted?: boolean; small?: boolean; large?: boolean; /** Circle instead of the default rounded square. */ circle?: boolean; /** * The plain soft tile: the tone's own soft wash (`primary-soft`, `destructive-soft`, ...) * with no ring and no lit top edge, at the soft tile's own corner. The tone tile a dialog * draws over its title (the v4 hand-off's AlertDialog renderer, `--ion-soft` / * `--bad-soft`). Composes with the tone and size axes. */ soft?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** For layout composition only (not styling): the tint, radius, and size come from props. */ style?: LayoutStyle; } export declare function toneOf(p: EmblemProps): Tone; export declare function sizeOf(p: EmblemProps): EmblemSize; /** Build an Emblem from a platform skin. */ export declare function createEmblem(skin: EmblemSkin): (props: EmblemProps) => import("react").JSX.Element; //# sourceMappingURL=emblem.shared.d.ts.map