export declare const RASTER_ICON_MIME_ALLOWLIST: readonly ["image/png", "image/jpeg", "image/webp", "image/gif"]; export type RasterIconMime = (typeof RASTER_ICON_MIME_ALLOWLIST)[number]; /** True iff `mime` is a raster image type allowed as an icon. */ export declare function isRasterImageMime(mime: string | null | undefined): boolean; export declare const MAX_ICON_EMOJI_BYTES = 64; /** * Validate an icon emoji. Returns `{ ok: true }` for a single emoji grapheme, * or `{ ok: false, error }` with a human-readable reason otherwise. * * Rules: * - non-empty, ≤ MAX_ICON_EMOJI_BYTES bytes * - no control characters * - exactly ONE grapheme cluster (via Intl.Segmenter) * - that grapheme contains at least one Extended_Pictographic code point * (so plain ASCII letters/digits and bare symbols are rejected) */ export declare function validateIconEmoji(raw: string): { ok: true; } | { ok: false; error: string; }; /** Convenience boolean form of {@link validateIconEmoji}. */ export declare function isValidIconEmoji(raw: string): boolean;