import { type StyleProp, type ViewStyle } from "../../style/index.js"; import { type IconGlyphProps } from "./icon.glyphs.js"; /** * Kit-internal Icon paint channel, kept OFF the published prop surface (hidden from * the generated prop table via OMIT_MEMBER_INTERFACES in tools/docgen/extract-props). * This is the raw-string escape hatch the "No styling escape hatches" directive bans * from the public API; it exists only so kit composites can tint a glyph to match a * computed color they already own (e.g. a `Chip` tinting its remove "×" to its label * color). Consumer-facing code picks hues with the semantic color booleans instead. */ export interface IconInternalProps { /** * An explicit glyph color (a theme or palette value), for the hues the semantic * color booleans do not name. The semantic booleans take precedence; this replaces * the default `foreground` when none is set. Kit-internal only. */ color?: string; } export interface IconProps extends IconGlyphProps, IconInternalProps { primary?: boolean; /** Contrast color for a glyph on a primary surface (e.g. a primary button). */ primaryForeground?: boolean; destructive?: boolean; /** Positive/green status (matches Alert's success tone, scheme-aware). */ success?: boolean; /** Caution/amber status (the warning token, scheme-aware; matches Alert/Toast warning). */ warning?: boolean; muted?: boolean; size?: number; /** * Accessible name for a MEANINGFUL standalone icon (one that conveys * information not repeated in adjacent text, e.g. an icon-only button's glyph). * Marks the glyph `role="img"` with this label on web and native. */ accessibilityLabel?: string; /** * Mark a DECORATIVE/ornamental glyph (one paired with a text label, a separator * chevron, an empty-state illustration) so assistive tech skips it. Hides it via * aria-hidden on web and importantForAccessibility on native. */ decorative?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** Outer layout composition only (width/flex within a parent), never a restyle hook. */ style?: StyleProp; } export type { IconName } from "./icon.glyphs.js"; export declare function Icon(props: IconProps): import("react").JSX.Element; //# sourceMappingURL=icon.shared.d.ts.map