@standards/constants 0.0.0-stage → 1.0.0-alpha.382

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3098 @@
1
+
2
+ import { ClassValue } from "clsx";
3
+ //#region src/aiChat.d.ts
4
+ /**
5
+ * AI Chat constants shared between frontend and backend.
6
+ *
7
+ * These define the allowed file types, size limits, and count limits
8
+ * for AI chat attachments, as the composer applies them.
9
+ */
10
+ /** Image MIME types supported by AI chat (subset of all image types) */
11
+ export declare const AI_CHAT_SUPPORTED_IMAGES: readonly ["image/jpeg", "image/png", "image/webp", "image/gif", "image/svg+xml", "image/heic", "image/heif"];
12
+ /**
13
+ * Document MIME types supported by AI chat.
14
+ *
15
+ * The two JavaScript spellings and XLSX are here so the agent can be handed the
16
+ * files people actually attach (#3169). JavaScript is read as prompt text like
17
+ * any other source file — nothing executes an attachment — and XLSX reaches the
18
+ * agent's sandbox, which is where a spreadsheet is useful.
19
+ */
20
+ export declare const AI_CHAT_SUPPORTED_DOCUMENTS: readonly ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "text/plain", "text/markdown", "text/csv", "text/javascript", "application/javascript"];
21
+ /** All MIME types supported by AI chat */
22
+ export declare const AI_CHAT_SUPPORTED_MIME_TYPES: readonly ["image/jpeg", "image/png", "image/webp", "image/gif", "image/svg+xml", "image/heic", "image/heif", "application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "text/plain", "text/markdown", "text/csv", "text/javascript", "application/javascript"];
23
+ /** Comma-separated accept string for file inputs */
24
+ export declare const AI_CHAT_ACCEPTED_TYPES: string;
25
+ /** Maximum file size for AI chat attachments (50 MB) */
26
+ export declare const AI_CHAT_MAX_FILE_SIZE: number;
27
+ /**
28
+ * Maximum number of file attachments per message. Ten, and no soft limit
29
+ * under it (#3454): the composer clamps its slots to this and the Nest DTO
30
+ * reads the same constant, so the two cannot drift.
31
+ */
32
+ export declare const AI_CHAT_MAX_FILES = 10;
33
+ //#endregion
34
+ //#region src/icons.d.ts
35
+ export declare const ICONS: readonly ["a-arrow-down", "a-arrow-up", "academic-hat", "accessibility", "activity-square", "activity", "add-queue", "aeroplane", "air-conditioner", "airplay", "airpods", "alarm-check", "alarm-minus", "alarm-plus", "alarm-smoke", "alarm-snooze", "alarm-x", "alarm", "album", "align-bottom", "align-horizontal", "align-left", "align-right", "align-top", "align-vertical", "alt", "ambulance", "ampersand-square", "ampersand", "ampersands", "anchor", "angry-circle", "angry-ghost", "angry-square", "annoyed-circle", "annoyed-ghost", "annoyed-square", "aperture", "api", "ar", "archive", "arrow-diagonal-one", "arrow-diagonal-two", "arrow-down-circle", "arrow-down-left-circle", "arrow-down-left-square", "arrow-down-left-waves", "arrow-down-left", "arrow-down-right-circle", "arrow-down-right-square", "arrow-down-right-waves", "arrow-down-right", "arrow-down-square", "arrow-down-waves", "arrow-down", "arrow-left-circle", "arrow-left-right", "arrow-left-square", "arrow-left-waves", "arrow-left", "arrow-long-down-left", "arrow-long-down-right", "arrow-long-down", "arrow-long-left", "arrow-long-right", "arrow-long-up-left", "arrow-long-up-right", "arrow-long-up", "arrow-right-circle", "arrow-right-square", "arrow-right-waves", "arrow-right", "arrow-up-circle", "arrow-up-down", "arrow-up-left-circle", "arrow-up-left-square", "arrow-up-left-waves", "arrow-up-left", "arrow-up-right-circle", "arrow-up-right-square", "arrow-up-right-waves", "arrow-up-right", "arrow-up-square", "arrow-up-waves", "arrow-up", "asterisk-circle", "asterisk-diamond", "asterisk-hexagon", "asterisk-octagon", "asterisk-square", "asterisk-waves", "at", "atom", "baby", "backpack", "badge", "baggage-claim", "ban", "bank", "baseball", "bath", "battery-charging-four", "battery-charging-one", "battery-charging-three", "battery-charging-two", "battery-charging", "battery-check", "battery-empty", "battery-full", "battery-minus", "battery-plus", "battery-x", "bell-check", "bell-home", "bell-minus", "bell-on", "bell-plus", "bell-slash", "bell-snooze", "bell-user", "bell-x", "bell", "binoculars", "bitcoin-circle", "bitcoin-diamond", "bitcoin-hexagon", "bitcoin-octagon", "bitcoin-square", "bitcoin-waves", "bitcoin", "bluetooth", "boat", "book-check", "book-dot", "book-home", "book-image", "book-minus", "book-open", "book-plus", "book-slash", "book-snooze", "book-user", "book-x", "book", "bookmark-check", "bookmark-dot", "bookmark-home", "bookmark-minus", "bookmark-plus", "bookmark-slash", "bookmark-snooze", "bookmark-user", "bookmark-x", "bookmark", "bounding-box", "bowl", "box", "brand-chrome", "brand-codepen", "brand-codesandbox", "brand-dribbble", "brand-facebook", "brand-figma", "brand-framer", "brand-github", "brand-gitlab", "brand-google", "brand-instagram", "brand-linkedin", "brand-pinterest", "brand-pocket", "brand-slack", "brand-spotify", "brand-telegram", "brand-threads", "brand-trello", "brand-twitch", "brand-twitter", "brand-x", "brand-youtube", "briefcase-conveyor-belt", "briefcase", "brightness-high", "brightness-low", "bubbles", "building-one", "building", "cable-car", "cake", "calendar-check", "calendar-down", "calendar-minus", "calendar-plus", "calendar-slash", "calendar-up", "calendar-x", "calendar", "camera-slash", "camera", "campfire", "cannabis", "caravan", "cart-check", "cart-minus", "cart-plus", "cart-x", "cart", "cast-screen", "center-focus", "chart-area", "chart-bar-big", "chart-bar-decreasing", "chart-bar-increasing", "chart-bar-one", "chart-bar-stacked", "chart-bar", "chart-bubble", "chart-candlestick", "chart-column-big", "chart-column-decreasing", "chart-column-increasing", "chart-column-stacked", "chart-column", "chart-gantt", "chart-graph", "chart-line", "chart-network", "chart-no-axes-column-decreasing", "chart-no-axes-column-increasing", "chart-no-axes-column", "chart-no-axes-combined", "chart-no-axes-gantt", "chart-pie-one", "chart-pie-two", "chart-pie", "chart-scatter", "chart-spline", "chat-check", "chat-dots", "chat-messages", "chat-minus", "chat-plus", "chat-x", "chat", "check-circle-one", "check-circle", "check-diamond", "check-hexagon", "check-octagon", "check-square-one", "check-square", "check-waves", "check", "chevron-double-down-left", "chevron-double-down-right", "chevron-double-down", "chevron-double-left", "chevron-double-right", "chevron-double-up-left", "chevron-double-up-right", "chevron-double-up", "chevron-down-circle", "chevron-down-left-circle", "chevron-down-left-square", "chevron-down-left-waves", "chevron-down-left", "chevron-down-right-circle", "chevron-down-right-square", "chevron-down-right-waves", "chevron-down-right", "chevron-down-square", "chevron-down-waves", "chevron-down", "chevron-left-circle", "chevron-left-square", "chevron-left-waves", "chevron-left", "chevron-right-circle", "chevron-right-square", "chevron-right-waves", "chevron-right", "chevron-up-circle", "chevron-up-down", "chevron-up-left-circle", "chevron-up-left-square", "chevron-up-left-waves", "chevron-up-left", "chevron-up-right-circle", "chevron-up-right-square", "chevron-up-right-waves", "chevron-up-right", "chevron-up-square", "chevron-up-waves", "chevron-up", "chip", "cigarette-off", "cigarette", "circle-dashed", "circle-half-circle", "circle-half", "circle-notch", "circle", "click", "clipboard", "clock-circle", "clock-diamond", "clock-eight", "clock-eleven", "clock-five", "clock-four", "clock-hand", "clock-hexagon", "clock-nine", "clock-octagon", "clock-one", "clock-seven", "clock-six", "clock-square", "clock-ten", "clock-three", "clock-twelve", "clock-two", "clock-waves", "cloud-download", "cloud-drizzle", "cloud-fog", "cloud-hail", "cloud-lightning", "cloud-moon-rain", "cloud-moon", "cloud-off", "cloud-rain-wind", "cloud-rain", "cloud-snow", "cloud-sun-rain", "cloud-sun", "cloud-upload", "cloud", "cloudy", "cocktail", "code-circle", "code-diamond", "code-hexagon", "code-octagon", "code-square", "code-waves", "code", "coffee", "cog-four", "cog-one", "cog-three", "cog-two", "cog", "columns", "command", "compass", "components", "confetti", "config-vertical", "config", "contactless-circle", "contactless", "controller", "cookie", "copy", "copyleft", "copyright-slash", "copyright", "corner-down-left", "corner-down-right", "corner-left-down", "corner-left-up", "corner-right-down", "corner-right-up", "corner-up-left", "corner-up-right", "credit-card-check", "credit-card-minus", "credit-card-plus", "credit-card-x", "credit-card", "croissant", "crop", "crosshair", "cupcake", "danger-circle", "danger-diamond", "danger-hexagon", "danger-octagon", "danger-square", "danger-triangle", "danger-waves", "danger", "database", "daze-circle", "daze-ghost", "daze-square", "delete", "desktop", "diamond", "dice-five", "dice-four", "dice-one", "dice-six", "dice-three", "dice-two", "dislike", "divide", "dollar-circle", "dollar-diamond", "dollar-hexagon", "dollar-octagon", "dollar-square", "dollar-waves", "dollar", "door-closed-locked", "door-closed", "door-open", "dots-circle", "dots-diamond", "dots-hexagon", "dots-octagon", "dots-square", "dots-vertical-circle", "dots-vertical-diamond", "dots-vertical-hexagon", "dots-vertical-octagon", "dots-vertical-square", "dots-vertical-waves", "dots-vertical", "dots-waves", "dots", "download", "drop", "droplet-off", "droplet", "droplets", "ear-slash", "ear", "earth", "eclipse", "edit-one", "edit", "egg", "eight-circle", "eight-diamond", "eight-hexagon", "eight-octagon", "eight-square", "eight-waves", "eight", "elevator", "envelope-open", "envelope", "euro-circle", "euro-diamond", "euro-hexagon", "euro-octagon", "euro-square", "euro-waves", "euro", "exclude", "external-link", "eye-slash", "eye", "face-id", "fat-arrow-down-left", "fat-arrow-down-right", "fat-arrow-down", "fat-arrow-left", "fat-arrow-right", "fat-arrow-up-left", "fat-arrow-up-right", "fat-arrow-up", "fat-corner-down-left", "fat-corner-down-right", "fat-corner-left-down", "fat-corner-left-up", "fat-corner-right-down", "fat-corner-right-up", "fat-corner-up-left", "fat-corner-up-right", "female", "file-check", "file-minus", "file-plus", "file-text", "file-x", "file", "film", "filter-one", "filter", "fine-tune", "fire", "five-circle", "five-diamond", "five-hexagon", "five-octagon", "five-square", "five-waves", "five", "flag-one", "flag", "flame-kindling", "flame", "flask", "flower-2", "flower", "folder-check", "folder-heart", "folder-kanban", "folder-minus", "folder-one", "folder-plus", "folder-slash", "folder-two", "folder-x", "folder", "forward-circle", "forward-diamond", "forward-hexagon", "forward-octagon", "forward-square", "forward-waves", "forward", "four-circle", "four-diamond", "four-hexagon", "four-octagon", "four-square", "four-waves", "four", "frame", "funny-circle", "funny-ghost", "funny-square", "gift", "git-branch", "git-circle", "git-commit", "git-diamond", "git-diff", "git-hexagon", "git-merge", "git-octagon", "git-pull-request", "git-square", "git-waves", "glasses", "globe", "grid-one", "grid", "hand", "hard-drive", "hash-circle", "hash-diamond", "hash-hexagon", "hash-octagon", "hash-square", "hash-waves", "hash", "haze", "heading-five", "heading-four", "heading-one", "heading-six", "heading-three", "heading-two", "heading", "headphones", "heart-broken", "heart-check", "heart-circle", "heart-diamond", "heart-dot", "heart-hexagon", "heart-home", "heart-minus", "heart-octagon", "heart-plus", "heart-slash", "heart-snooze", "heart-square", "heart-user", "heart-waves", "heart-x", "heart", "hexagon", "home-check", "home-minus", "home-plus", "home-smile", "home-x", "home", "image-circle", "image-rectangle", "image", "inbox-archive", "inbox-check", "inbox-down", "inbox-minus", "inbox-plus", "inbox-up", "inbox-x", "inbox", "incognito", "indifferent-circle", "indifferent-ghost", "indifferent-square", "infinity", "info-circle", "info-diamond", "info-hexagon", "info-octagon", "info-square", "info-triangle", "info-waves", "info", "intersect", "kanban", "key", "keyboard-brightness-high", "keyboard-brightness-low", "keyboard", "label", "lamp", "layers-one", "layers-three", "layers-two", "layout", "leaf", "leaves", "letter-a-circle", "letter-a-diamond", "letter-a-hexagon", "letter-a-octagon", "letter-a-square", "letter-a-waves", "letter-a", "letter-b-circle", "letter-b-diamond", "letter-b-hexagon", "letter-b-octagon", "letter-b-square", "letter-b-waves", "letter-b", "letter-c-circle", "letter-c-diamond", "letter-c-hexagon", "letter-c-octagon", "letter-c-square", "letter-c-waves", "letter-c", "letter-d-circle", "letter-d-diamond", "letter-d-hexagon", "letter-d-octagon", "letter-d-square", "letter-d-waves", "letter-d", "letter-e-circle", "letter-e-diamond", "letter-e-hexagon", "letter-e-octagon", "letter-e-square", "letter-e-waves", "letter-e", "letter-f-circle", "letter-f-diamond", "letter-f-hexagon", "letter-f-octagon", "letter-f-square", "letter-f-waves", "letter-f", "letter-g-circle", "letter-g-diamond", "letter-g-hexagon", "letter-g-octagon", "letter-g-square", "letter-g-waves", "letter-g", "letter-h-circle", "letter-h-diamond", "letter-h-hexagon", "letter-h-octagon", "letter-h-square", "letter-h-waves", "letter-h", "letter-i-circle", "letter-i-diamond", "letter-i-hexagon", "letter-i-octagon", "letter-i-square", "letter-i-waves", "letter-i", "letter-j-circle", "letter-j-diamond", "letter-j-hexagon", "letter-j-octagon", "letter-j-square", "letter-j-waves", "letter-j", "letter-k-circle", "letter-k-diamond", "letter-k-hexagon", "letter-k-octagon", "letter-k-square", "letter-k-waves", "letter-k", "letter-l-circle", "letter-l-diamond", "letter-l-hexagon", "letter-l-octagon", "letter-l-square", "letter-l-waves", "letter-l", "letter-m-circle", "letter-m-diamond", "letter-m-hexagon", "letter-m-octagon", "letter-m-square", "letter-m-waves", "letter-m", "letter-n-circle", "letter-n-diamond", "letter-n-hexagon", "letter-n-octagon", "letter-n-square", "letter-n-waves", "letter-n", "letter-o-circle", "letter-o-diamond", "letter-o-hexagon", "letter-o-octagon", "letter-o-square", "letter-o-waves", "letter-o", "letter-p-circle", "letter-p-diamond", "letter-p-hexagon", "letter-p-octagon", "letter-p-square", "letter-p-waves", "letter-p", "letter-q-circle", "letter-q-diamond", "letter-q-hexagon", "letter-q-octagon", "letter-q-square", "letter-q-waves", "letter-q", "letter-r-circle", "letter-r-diamond", "letter-r-hexagon", "letter-r-octagon", "letter-r-square", "letter-r-waves", "letter-r", "letter-s-circle", "letter-s-diamond", "letter-s-hexagon", "letter-s-octagon", "letter-s-square", "letter-s-waves", "letter-s", "letter-t-circle", "letter-t-diamond", "letter-t-hexagon", "letter-t-octagon", "letter-t-square", "letter-t-waves", "letter-t", "letter-u-circle", "letter-u-diamond", "letter-u-hexagon", "letter-u-octagon", "letter-u-square", "letter-u-waves", "letter-u", "letter-v-circle", "letter-v-diamond", "letter-v-hexagon", "letter-v-octagon", "letter-v-square", "letter-v-waves", "letter-v", "letter-w-circle", "letter-w-diamond", "letter-w-hexagon", "letter-w-octagon", "letter-w-square", "letter-w-waves", "letter-w", "letter-x-circle", "letter-x-diamond", "letter-x-hexagon", "letter-x-octagon", "letter-x-square", "letter-x-waves", "letter-x", "letter-y-circle", "letter-y-diamond", "letter-y-hexagon", "letter-y-octagon", "letter-y-square", "letter-y-waves", "letter-y", "letter-z-circle", "letter-z-diamond", "letter-z-hexagon", "letter-z-octagon", "letter-z-square", "letter-z-waves", "letter-z", "lightning-off", "lightning", "like", "line-chart-circle", "line-chart-diamond", "line-chart-hexagon", "line-chart-octagon", "line-chart-square", "line-chart-waves", "link-one", "link-two", "link", "list-check", "list-number", "list", "location-check", "location-home", "location-minus", "location-plus", "location-selected", "location-slash", "location-snooze", "location-user", "location-x", "location", "lock-circle", "lock-diamond", "lock-hexagon", "lock-keyhole", "lock-octagon", "lock-open-keyhole", "lock-open-password", "lock-open", "lock-password", "lock-square", "lock-waves", "lock", "login", "logout", "magnet", "male", "map", "mask", "math-square", "math", "maximize-one", "maximize", "menu", "message-check", "message-dots", "message-minus", "message-plus", "message-reply", "message-x", "message", "microphone-slash", "microphone", "minimize-one", "minimize", "minus-circle", "minus-diamond", "minus-hexagon", "minus-octagon", "minus-square", "minus-waves", "minus", "mobile-signal-five", "mobile-signal-four", "mobile-signal-one", "mobile-signal-three", "mobile-signal-two", "mobile", "moon-star", "moon", "mountain-snow", "mountain", "mouse-pointer", "move-diagonal-one", "move-diagonal", "move-horizontal", "move-vertical", "move", "music-circle", "music-diamond", "music-hexagon", "music-octagon", "music-square", "music-waves", "music", "myna", "navigation-one", "navigation", "nine-circle", "nine-diamond", "nine-hexagon", "nine-octagon", "nine-square", "nine-waves", "nine", "notification", "octagon", "one-circle", "one-diamond", "one-hexagon", "one-octagon", "one-square", "one-waves", "one", "option", "package", "paint", "panel-bottom-close", "panel-bottom-inactive", "panel-bottom-open", "panel-bottom", "panel-left-close", "panel-left-inactive", "panel-left-open", "panel-left", "panel-right-close", "panel-right-inactive", "panel-right-open", "panel-right", "panel-top-close", "panel-top-inactive", "panel-top-open", "panel-top", "paperclip", "parking", "password", "path", "pause-circle", "pause-diamond", "pause-hexagon", "pause-octagon", "pause-square", "pause-waves", "pause", "pen", "pencil", "percentage-circle", "percentage-diamond", "percentage-hexagon", "percentage-octagon", "percentage-square", "percentage-waves", "percentage", "pin", "pizza", "planet", "play-circle", "play-diamond", "play-hexagon", "play-octagon", "play-square", "play-waves", "play", "plus-circle", "plus-diamond", "plus-hexagon", "plus-octagon", "plus-square", "plus-waves", "plus", "pokeball", "power", "presentation", "printer", "puzzle", "question-circle", "question-diamond", "question-hexagon", "question-octagon", "question-square", "question-waves", "question", "radio", "rainbow", "reception-bell", "record", "rectangle-vertical", "rectangle", "redo", "refresh-alt", "refresh", "repeat", "rewind-circle", "rewind-diamond", "rewind-hexagon", "rewind-octagon", "rewind-square", "rewind-waves", "rewind", "rhombus", "ribbon", "rocket", "room-service", "rows", "rss", "ruler", "rupee-circle", "rupee-diamond", "rupee-hexagon", "rupee-octagon", "rupee-square", "rupee-waves", "rupee", "sad-circle", "sad-ghost", "sad-square", "save", "scan", "scissors", "sea-waves", "search-check", "search-circle", "search-diamond", "search-dot", "search-hexagon", "search-home", "search-minus", "search-octagon", "search-plus", "search-slash", "search-snooze", "search-square", "search-user", "search-waves", "search-x", "search", "select-multiple", "send", "servers", "seven-circle", "seven-diamond", "seven-hexagon", "seven-octagon", "seven-square", "seven-waves", "seven", "share", "shell", "shield-check", "shield-crossed", "shield-minus", "shield-one", "shield-plus", "shield-slash", "shield-two", "shield-x", "shield", "shooting-star", "shopping-bag", "shovel", "shrub", "shuffle-alt", "shuffle", "sidebar-alt", "sidebar", "signal-circle", "signal-diamond", "signal-hexagon", "signal-octagon", "signal-square", "signal-waves", "signal", "six-circle", "six-diamond", "six-hexagon", "six-octagon", "six-square", "six-waves", "six", "skip-back", "skip-forward", "slash-circle", "slash-diamond", "slash-hexagon", "slash-octagon", "slash-square", "slash-waves", "smile-circle", "smile-ghost", "smile-square", "snow", "snowflake", "sofa", "sort", "sparkles", "speaker", "spinner-one", "spinner", "sprout", "square-chart-gantt", "square-dashed-kanban", "square-dashed", "square-half", "square-kanban", "square", "star", "stop-circle", "stop-diamond", "stop-hexagon", "stop-octagon", "stop-square", "stop-waves", "stop", "store", "subtract", "sun-dim", "sun-medium", "sun-snow", "sun", "sunrise", "sunset", "support", "swatches", "table", "tablet", "tag-plus", "tag", "tally-five", "tally-four", "tally-one", "tally-three", "tally-two", "target", "telephone-call", "telephone-forward", "telephone-in", "telephone-missed", "telephone-out", "telephone-slash", "telephone", "tent-tree", "tent", "terminal", "text-align-center", "text-align-left", "text-align-right", "text-justify", "thermometer-snowflake", "thermometer-sun", "thermometer", "three-circle", "three-diamond", "three-hexagon", "three-octagon", "three-square", "three-waves", "three", "ticket-slash", "ticket", "toggle-left", "toggle-right", "tool", "tornado", "train", "trash-one", "trash-two", "trash", "tree-deciduous", "tree-palm", "tree-pine", "tree", "trees", "trending-down", "trending-up-down", "trending-up", "triangle", "truck", "tv", "two-circle", "two-diamond", "two-hexagon", "two-octagon", "two-square", "two-waves", "two", "type-bold", "type-italic", "type-text", "type-underline", "umbrella-off", "umbrella", "undo", "union", "unlink", "upload", "user-check", "user-circle", "user-diamond", "user-hexagon", "user-minus", "user-octagon", "user-plus", "user-settings", "user-square", "user-waves", "user-x", "user", "users-group", "users", "video-slash", "video", "volume-check", "volume-high", "volume-low", "volume-minus", "volume-none", "volume-plus", "volume-slash", "volume-x", "watch", "waves", "webcam", "wheel", "wheelchair", "wifi-check", "wifi-low", "wifi-medium", "wifi-minus", "wifi-plus", "wifi-slash", "wifi-x", "wifi", "wind-arrow-down", "wind", "winds", "wine", "wink-circle", "wink-ghost", "wink-square", "wrench", "x-circle", "x-diamond", "x-hexagon", "x-octagon", "x-square", "x-triangle", "x-waves", "x", "yen-circle", "yen-diamond", "yen-hexagon", "yen-octagon", "yen-square", "yen-waves", "yen", "zap-off", "zap", "zero-circle", "zero-diamond", "zero-hexagon", "zero-octagon", "zero-square", "zero-waves", "zero"];
36
+ export type IconName = (typeof ICONS)[number];
37
+ //#endregion
38
+ //#region src/attribute-icons.d.ts
39
+ /**
40
+ * Default icons for each attribute type
41
+ */
42
+ export declare const DEFAULT_ATTRIBUTE_ICONS: Record<string, IconName>;
43
+ /**
44
+ * Get the default icon for an attribute type
45
+ * @param type - The attribute type
46
+ * @returns The icon name, or "circle" as fallback
47
+ */
48
+ export declare function getDefaultAttributeIcon(type: string): IconName;
49
+ //#endregion
50
+ //#region src/tab-icons.d.ts
51
+ /**
52
+ * Default icons for each detail-view tab type.
53
+ *
54
+ * Mirrors `DEFAULT_ATTRIBUTE_ICONS` deliberately, down to being keyed by plain
55
+ * string: `constants` does not depend on `schema`, so `TabType` cannot be named
56
+ * here. The contract is the same one attributes already have — a tab always has
57
+ * a glyph, whether or not anyone chose it.
58
+ *
59
+ * Each type gets its own mark. A shared placeholder would fill the bar without
60
+ * telling the reader anything, which is not what the empty half was missing.
61
+ *
62
+ * List-view pills are NOT routed through this map. They fall back by *layout*
63
+ * (`table` / `kanban`), which is a different vocabulary that happens to share
64
+ * one word with this one; folding both into a single string-keyed record would
65
+ * make `"table"` mean two things and quietly answer for either.
66
+ */
67
+ export declare const DEFAULT_TAB_ICONS: Record<string, IconName>;
68
+ /**
69
+ * Get the default icon for a tab type.
70
+ *
71
+ * @param type - The tab type
72
+ * @returns The icon name, or "circle" as fallback
73
+ */
74
+ export declare function getDefaultTabIcon(type: string): IconName;
75
+ /**
76
+ * Default icons for the three collection layouts.
77
+ *
78
+ * Deliberately a second record rather than more keys on `DEFAULT_TAB_ICONS`:
79
+ * `"table"` is a content TYPE there and a LAYOUT here, and one string-keyed map
80
+ * answering for both would quietly serve either vocabulary. Keyed by plain
81
+ * string for the same reason the map above is — `constants` does not depend on
82
+ * `schema`, so `ListViewLayout` cannot be named here.
83
+ */
84
+ export declare const DEFAULT_LAYOUT_ICONS: Record<string, IconName>;
85
+ /**
86
+ * Get the default icon for a collection layout.
87
+ *
88
+ * @param layout - The layout name
89
+ * @returns The icon name, or "table" as fallback
90
+ */
91
+ export declare function getDefaultLayoutIcon(layout: string): IconName;
92
+ //#endregion
93
+ //#region src/cn.d.ts
94
+ /**
95
+ * Merge class names with Tailwind CSS classes.
96
+ * Uses clsx for conditional classes and tailwind-merge to handle conflicts.
97
+ */
98
+ export declare function cn(...inputs: ClassValue[]): string;
99
+ //#endregion
100
+ //#region src/colors.d.ts
101
+ /**
102
+ * One Standards colour. Every role is a `light-dark(<light>, <dark>)` CSS
103
+ * value (requires `color-scheme` on the document root, see packages/ui
104
+ * globals.css); the `*Light` / `*Dark` halves are the plain hex values for the
105
+ * consumers that need one mode on its own (e.g. the agent avatar canvas).
106
+ *
107
+ * Fills are opaque, so a tag looks the same on page, card, hover and selection.
108
+ */
109
+ export interface Color {
110
+ /** Tag / option / category fill, object tile fill. */
111
+ bg: string;
112
+ /** Agent avatar tile. */
113
+ surface: string;
114
+ /** Outlines: picker swatch ring, graph node stroke. */
115
+ border: string;
116
+ /** Object glyph, tag dot, any meaningful glyph (at least 3:1 on the sidebar). */
117
+ icon: string;
118
+ /** Tag / option label (at least 4.5:1 on `bg`). */
119
+ text: string;
120
+ /** Agent avatar body (decorative, bright). */
121
+ body: string;
122
+ /** Agent avatar eyes. */
123
+ eye: string;
124
+ iconLight: string;
125
+ iconDark: string;
126
+ textLight: string;
127
+ textDark: string;
128
+ bodyLight: string;
129
+ bodyDark: string;
130
+ eyeLight: string;
131
+ eyeDark: string;
132
+ }
133
+ /**
134
+ * Builds a `light-dark(<light>, <dark>)` CSS color value.
135
+ * Requires `color-scheme: light` / `color-scheme: dark` to be set on the
136
+ * document root (see packages/ui globals.css) so the right value is picked.
137
+ */
138
+ export declare const lightDark: (light: string, dark: string) => string;
139
+ /**
140
+ * The Standards palette: eleven named colours (one warm neutral, ten hues),
141
+ * measured per role. Hex values are the contract (spec 2026-10-17, "Tone
142
+ * roles"); generated through OKLCH with chroma lowered, never clipped.
143
+ */
144
+ export declare const COLORS: {
145
+ stone: Color;
146
+ clay: Color;
147
+ brick: Color;
148
+ terra: Color;
149
+ ochre: Color;
150
+ moss: Color;
151
+ sage: Color;
152
+ lagoon: Color;
153
+ ink: Color;
154
+ iris: Color;
155
+ peony: Color;
156
+ };
157
+ export type ColorId = keyof typeof COLORS;
158
+ /** OKLCH hue (degrees) of each non-neutral colour, for nearest-free-hue picks. */
159
+ export declare const PALETTE_HUES: Record<Exclude<ColorId, "stone">, number>;
160
+ /** Get color configuration by ID */
161
+ export declare const getColor: (id: string) => Color | undefined;
162
+ /** Get all color IDs */
163
+ export declare const getColorIds: () => ColorId[];
164
+ /** Whether a value is a palette id. Own keys only: `"constructor" in COLORS` is true. */
165
+ export declare const isValidColorId: (id: unknown) => id is ColorId;
166
+ /** Color groups for semantic usage */
167
+ export declare const COLOR_GROUPS: {
168
+ readonly neutral: readonly ["stone"];
169
+ readonly warm: readonly ["clay", "brick", "terra", "ochre"];
170
+ readonly green: readonly ["moss", "sage", "lagoon"];
171
+ readonly cool: readonly ["ink", "iris", "peony"];
172
+ };
173
+ export type ColorGroup = keyof typeof COLOR_GROUPS;
174
+ export type ColorGroupColors<T extends ColorGroup> = (typeof COLOR_GROUPS)[T][number];
175
+ /**
176
+ * The colours an agent avatar may take: every hue, never the neutral (a grey
177
+ * agent reads as disabled). Non-empty by construction (10 hues), which is what
178
+ * `z.enum` needs.
179
+ */
180
+ export declare const AVATAR_COLOR_IDS: readonly [ColorId, ...ColorId[]];
181
+ //#endregion
182
+ //#region src/countries.d.ts
183
+ export interface Country {
184
+ name: string;
185
+ iso2: string;
186
+ iso3: string;
187
+ numericCode: string;
188
+ phoneCode: string;
189
+ /**
190
+ * Max digits of the national phone number, without the country code but
191
+ * WITH the trunk prefix: France is `10` (`0` + 9 digits). It must hold the
192
+ * country's longest mobile or fixed-line number (#5288) — set without the
193
+ * trunk, it cut the last digit of every such number.
194
+ */
195
+ phoneMaxDigits?: number;
196
+ /** National trunk prefix (e.g., "0" for France) */
197
+ phoneTrunkPrefix?: string;
198
+ }
199
+ export declare const COUNTRIES: {
200
+ readonly FR: {
201
+ readonly name: "France";
202
+ readonly iso2: "FR";
203
+ readonly iso3: "FRA";
204
+ readonly numericCode: "250";
205
+ readonly phoneCode: "+33";
206
+ readonly phoneMaxDigits: 10;
207
+ readonly phoneTrunkPrefix: "0";
208
+ };
209
+ readonly US: {
210
+ readonly name: "United States";
211
+ readonly iso2: "US";
212
+ readonly iso3: "USA";
213
+ readonly numericCode: "840";
214
+ readonly phoneCode: "+1";
215
+ readonly phoneMaxDigits: 10;
216
+ readonly phoneTrunkPrefix: "";
217
+ };
218
+ readonly GB: {
219
+ readonly name: "United Kingdom";
220
+ readonly iso2: "GB";
221
+ readonly iso3: "GBR";
222
+ readonly numericCode: "826";
223
+ readonly phoneCode: "+44";
224
+ readonly phoneMaxDigits: 11;
225
+ readonly phoneTrunkPrefix: "0";
226
+ };
227
+ readonly DE: {
228
+ readonly name: "Germany";
229
+ readonly iso2: "DE";
230
+ readonly iso3: "DEU";
231
+ readonly numericCode: "276";
232
+ readonly phoneCode: "+49";
233
+ readonly phoneMaxDigits: 14;
234
+ readonly phoneTrunkPrefix: "0";
235
+ };
236
+ readonly ES: {
237
+ readonly name: "Spain";
238
+ readonly iso2: "ES";
239
+ readonly iso3: "ESP";
240
+ readonly numericCode: "724";
241
+ readonly phoneCode: "+34";
242
+ readonly phoneMaxDigits: 9;
243
+ readonly phoneTrunkPrefix: "";
244
+ };
245
+ readonly IT: {
246
+ readonly name: "Italy";
247
+ readonly iso2: "IT";
248
+ readonly iso3: "ITA";
249
+ readonly numericCode: "380";
250
+ readonly phoneCode: "+39";
251
+ readonly phoneMaxDigits: 13;
252
+ readonly phoneTrunkPrefix: "0";
253
+ };
254
+ readonly BE: {
255
+ readonly name: "Belgium";
256
+ readonly iso2: "BE";
257
+ readonly iso3: "BEL";
258
+ readonly numericCode: "056";
259
+ readonly phoneCode: "+32";
260
+ readonly phoneMaxDigits: 10;
261
+ readonly phoneTrunkPrefix: "0";
262
+ };
263
+ readonly CH: {
264
+ readonly name: "Switzerland";
265
+ readonly iso2: "CH";
266
+ readonly iso3: "CHE";
267
+ readonly numericCode: "756";
268
+ readonly phoneCode: "+41";
269
+ readonly phoneMaxDigits: 10;
270
+ readonly phoneTrunkPrefix: "0";
271
+ };
272
+ readonly NL: {
273
+ readonly name: "Netherlands";
274
+ readonly iso2: "NL";
275
+ readonly iso3: "NLD";
276
+ readonly numericCode: "528";
277
+ readonly phoneCode: "+31";
278
+ readonly phoneMaxDigits: 12;
279
+ readonly phoneTrunkPrefix: "0";
280
+ };
281
+ readonly PT: {
282
+ readonly name: "Portugal";
283
+ readonly iso2: "PT";
284
+ readonly iso3: "PRT";
285
+ readonly numericCode: "620";
286
+ readonly phoneCode: "+351";
287
+ readonly phoneMaxDigits: 9;
288
+ readonly phoneTrunkPrefix: "";
289
+ };
290
+ readonly CA: {
291
+ readonly name: "Canada";
292
+ readonly iso2: "CA";
293
+ readonly iso3: "CAN";
294
+ readonly numericCode: "124";
295
+ readonly phoneCode: "+1";
296
+ readonly phoneMaxDigits: 10;
297
+ readonly phoneTrunkPrefix: "";
298
+ };
299
+ readonly AU: {
300
+ readonly name: "Australia";
301
+ readonly iso2: "AU";
302
+ readonly iso3: "AUS";
303
+ readonly numericCode: "036";
304
+ readonly phoneCode: "+61";
305
+ readonly phoneMaxDigits: 10;
306
+ readonly phoneTrunkPrefix: "0";
307
+ };
308
+ readonly AT: {
309
+ readonly name: "Austria";
310
+ readonly iso2: "AT";
311
+ readonly iso3: "AUT";
312
+ readonly numericCode: "040";
313
+ readonly phoneCode: "+43";
314
+ readonly phoneMaxDigits: 14;
315
+ readonly phoneTrunkPrefix: "0";
316
+ };
317
+ readonly SE: {
318
+ readonly name: "Sweden";
319
+ readonly iso2: "SE";
320
+ readonly iso3: "SWE";
321
+ readonly numericCode: "752";
322
+ readonly phoneCode: "+46";
323
+ readonly phoneMaxDigits: 10;
324
+ readonly phoneTrunkPrefix: "0";
325
+ };
326
+ readonly NO: {
327
+ readonly name: "Norway";
328
+ readonly iso2: "NO";
329
+ readonly iso3: "NOR";
330
+ readonly numericCode: "578";
331
+ readonly phoneCode: "+47";
332
+ readonly phoneMaxDigits: 8;
333
+ readonly phoneTrunkPrefix: "";
334
+ };
335
+ readonly DK: {
336
+ readonly name: "Denmark";
337
+ readonly iso2: "DK";
338
+ readonly iso3: "DNK";
339
+ readonly numericCode: "208";
340
+ readonly phoneCode: "+45";
341
+ readonly phoneMaxDigits: 8;
342
+ readonly phoneTrunkPrefix: "";
343
+ };
344
+ readonly FI: {
345
+ readonly name: "Finland";
346
+ readonly iso2: "FI";
347
+ readonly iso3: "FIN";
348
+ readonly numericCode: "246";
349
+ readonly phoneCode: "+358";
350
+ readonly phoneMaxDigits: 11;
351
+ readonly phoneTrunkPrefix: "0";
352
+ };
353
+ readonly IE: {
354
+ readonly name: "Ireland";
355
+ readonly iso2: "IE";
356
+ readonly iso3: "IRL";
357
+ readonly numericCode: "372";
358
+ readonly phoneCode: "+353";
359
+ readonly phoneMaxDigits: 11;
360
+ readonly phoneTrunkPrefix: "0";
361
+ };
362
+ readonly PL: {
363
+ readonly name: "Poland";
364
+ readonly iso2: "PL";
365
+ readonly iso3: "POL";
366
+ readonly numericCode: "616";
367
+ readonly phoneCode: "+48";
368
+ readonly phoneMaxDigits: 9;
369
+ readonly phoneTrunkPrefix: "";
370
+ };
371
+ readonly CZ: {
372
+ readonly name: "Czech Republic";
373
+ readonly iso2: "CZ";
374
+ readonly iso3: "CZE";
375
+ readonly numericCode: "203";
376
+ readonly phoneCode: "+420";
377
+ readonly phoneMaxDigits: 9;
378
+ readonly phoneTrunkPrefix: "";
379
+ };
380
+ readonly GR: {
381
+ readonly name: "Greece";
382
+ readonly iso2: "GR";
383
+ readonly iso3: "GRC";
384
+ readonly numericCode: "300";
385
+ readonly phoneCode: "+30";
386
+ readonly phoneMaxDigits: 10;
387
+ readonly phoneTrunkPrefix: "";
388
+ };
389
+ readonly RO: {
390
+ readonly name: "Romania";
391
+ readonly iso2: "RO";
392
+ readonly iso3: "ROU";
393
+ readonly numericCode: "642";
394
+ readonly phoneCode: "+40";
395
+ readonly phoneMaxDigits: 10;
396
+ readonly phoneTrunkPrefix: "0";
397
+ };
398
+ readonly HU: {
399
+ readonly name: "Hungary";
400
+ readonly iso2: "HU";
401
+ readonly iso3: "HUN";
402
+ readonly numericCode: "348";
403
+ readonly phoneCode: "+36";
404
+ readonly phoneMaxDigits: 11;
405
+ readonly phoneTrunkPrefix: "06";
406
+ };
407
+ readonly LU: {
408
+ readonly name: "Luxembourg";
409
+ readonly iso2: "LU";
410
+ readonly iso3: "LUX";
411
+ readonly numericCode: "442";
412
+ readonly phoneCode: "+352";
413
+ readonly phoneMaxDigits: 11;
414
+ readonly phoneTrunkPrefix: "";
415
+ };
416
+ readonly SK: {
417
+ readonly name: "Slovakia";
418
+ readonly iso2: "SK";
419
+ readonly iso3: "SVK";
420
+ readonly numericCode: "703";
421
+ readonly phoneCode: "+421";
422
+ readonly phoneMaxDigits: 10;
423
+ readonly phoneTrunkPrefix: "0";
424
+ };
425
+ readonly BG: {
426
+ readonly name: "Bulgaria";
427
+ readonly iso2: "BG";
428
+ readonly iso3: "BGR";
429
+ readonly numericCode: "100";
430
+ readonly phoneCode: "+359";
431
+ readonly phoneMaxDigits: 10;
432
+ readonly phoneTrunkPrefix: "0";
433
+ };
434
+ readonly HR: {
435
+ readonly name: "Croatia";
436
+ readonly iso2: "HR";
437
+ readonly iso3: "HRV";
438
+ readonly numericCode: "191";
439
+ readonly phoneCode: "+385";
440
+ readonly phoneMaxDigits: 10;
441
+ readonly phoneTrunkPrefix: "0";
442
+ };
443
+ readonly SI: {
444
+ readonly name: "Slovenia";
445
+ readonly iso2: "SI";
446
+ readonly iso3: "SVN";
447
+ readonly numericCode: "705";
448
+ readonly phoneCode: "+386";
449
+ readonly phoneMaxDigits: 9;
450
+ readonly phoneTrunkPrefix: "0";
451
+ };
452
+ readonly EE: {
453
+ readonly name: "Estonia";
454
+ readonly iso2: "EE";
455
+ readonly iso3: "EST";
456
+ readonly numericCode: "233";
457
+ readonly phoneCode: "+372";
458
+ readonly phoneMaxDigits: 8;
459
+ readonly phoneTrunkPrefix: "";
460
+ };
461
+ readonly LV: {
462
+ readonly name: "Latvia";
463
+ readonly iso2: "LV";
464
+ readonly iso3: "LVA";
465
+ readonly numericCode: "428";
466
+ readonly phoneCode: "+371";
467
+ readonly phoneMaxDigits: 8;
468
+ readonly phoneTrunkPrefix: "";
469
+ };
470
+ readonly LT: {
471
+ readonly name: "Lithuania";
472
+ readonly iso2: "LT";
473
+ readonly iso3: "LTU";
474
+ readonly numericCode: "440";
475
+ readonly phoneCode: "+370";
476
+ readonly phoneMaxDigits: 8;
477
+ readonly phoneTrunkPrefix: "";
478
+ };
479
+ readonly IS: {
480
+ readonly name: "Iceland";
481
+ readonly iso2: "IS";
482
+ readonly iso3: "ISL";
483
+ readonly numericCode: "352";
484
+ readonly phoneCode: "+354";
485
+ readonly phoneMaxDigits: 9;
486
+ readonly phoneTrunkPrefix: "";
487
+ };
488
+ readonly MT: {
489
+ readonly name: "Malta";
490
+ readonly iso2: "MT";
491
+ readonly iso3: "MLT";
492
+ readonly numericCode: "470";
493
+ readonly phoneCode: "+356";
494
+ readonly phoneMaxDigits: 8;
495
+ readonly phoneTrunkPrefix: "";
496
+ };
497
+ readonly CY: {
498
+ readonly name: "Cyprus";
499
+ readonly iso2: "CY";
500
+ readonly iso3: "CYP";
501
+ readonly numericCode: "196";
502
+ readonly phoneCode: "+357";
503
+ readonly phoneMaxDigits: 8;
504
+ readonly phoneTrunkPrefix: "";
505
+ };
506
+ readonly MC: {
507
+ readonly name: "Monaco";
508
+ readonly iso2: "MC";
509
+ readonly iso3: "MCO";
510
+ readonly numericCode: "492";
511
+ readonly phoneCode: "+377";
512
+ readonly phoneMaxDigits: 9;
513
+ readonly phoneTrunkPrefix: "";
514
+ };
515
+ readonly MX: {
516
+ readonly name: "Mexico";
517
+ readonly iso2: "MX";
518
+ readonly iso3: "MEX";
519
+ readonly numericCode: "484";
520
+ readonly phoneCode: "+52";
521
+ readonly phoneMaxDigits: 10;
522
+ readonly phoneTrunkPrefix: "";
523
+ };
524
+ readonly BR: {
525
+ readonly name: "Brazil";
526
+ readonly iso2: "BR";
527
+ readonly iso3: "BRA";
528
+ readonly numericCode: "076";
529
+ readonly phoneCode: "+55";
530
+ readonly phoneMaxDigits: 11;
531
+ readonly phoneTrunkPrefix: "";
532
+ };
533
+ readonly AR: {
534
+ readonly name: "Argentina";
535
+ readonly iso2: "AR";
536
+ readonly iso3: "ARG";
537
+ readonly numericCode: "032";
538
+ readonly phoneCode: "+54";
539
+ readonly phoneMaxDigits: 11;
540
+ readonly phoneTrunkPrefix: "";
541
+ };
542
+ readonly CL: {
543
+ readonly name: "Chile";
544
+ readonly iso2: "CL";
545
+ readonly iso3: "CHL";
546
+ readonly numericCode: "152";
547
+ readonly phoneCode: "+56";
548
+ readonly phoneMaxDigits: 9;
549
+ readonly phoneTrunkPrefix: "";
550
+ };
551
+ readonly CO: {
552
+ readonly name: "Colombia";
553
+ readonly iso2: "CO";
554
+ readonly iso3: "COL";
555
+ readonly numericCode: "170";
556
+ readonly phoneCode: "+57";
557
+ readonly phoneMaxDigits: 10;
558
+ readonly phoneTrunkPrefix: "";
559
+ };
560
+ readonly PE: {
561
+ readonly name: "Peru";
562
+ readonly iso2: "PE";
563
+ readonly iso3: "PER";
564
+ readonly numericCode: "604";
565
+ readonly phoneCode: "+51";
566
+ readonly phoneMaxDigits: 9;
567
+ readonly phoneTrunkPrefix: "";
568
+ };
569
+ readonly VE: {
570
+ readonly name: "Venezuela";
571
+ readonly iso2: "VE";
572
+ readonly iso3: "VEN";
573
+ readonly numericCode: "862";
574
+ readonly phoneCode: "+58";
575
+ readonly phoneMaxDigits: 10;
576
+ readonly phoneTrunkPrefix: "";
577
+ };
578
+ readonly EC: {
579
+ readonly name: "Ecuador";
580
+ readonly iso2: "EC";
581
+ readonly iso3: "ECU";
582
+ readonly numericCode: "218";
583
+ readonly phoneCode: "+593";
584
+ readonly phoneMaxDigits: 9;
585
+ readonly phoneTrunkPrefix: "";
586
+ };
587
+ readonly UY: {
588
+ readonly name: "Uruguay";
589
+ readonly iso2: "UY";
590
+ readonly iso3: "URY";
591
+ readonly numericCode: "858";
592
+ readonly phoneCode: "+598";
593
+ readonly phoneMaxDigits: 8;
594
+ readonly phoneTrunkPrefix: "";
595
+ };
596
+ readonly PY: {
597
+ readonly name: "Paraguay";
598
+ readonly iso2: "PY";
599
+ readonly iso3: "PRY";
600
+ readonly numericCode: "600";
601
+ readonly phoneCode: "+595";
602
+ readonly phoneMaxDigits: 9;
603
+ readonly phoneTrunkPrefix: "";
604
+ };
605
+ readonly BO: {
606
+ readonly name: "Bolivia";
607
+ readonly iso2: "BO";
608
+ readonly iso3: "BOL";
609
+ readonly numericCode: "068";
610
+ readonly phoneCode: "+591";
611
+ readonly phoneMaxDigits: 8;
612
+ readonly phoneTrunkPrefix: "";
613
+ };
614
+ readonly CR: {
615
+ readonly name: "Costa Rica";
616
+ readonly iso2: "CR";
617
+ readonly iso3: "CRI";
618
+ readonly numericCode: "188";
619
+ readonly phoneCode: "+506";
620
+ readonly phoneMaxDigits: 8;
621
+ readonly phoneTrunkPrefix: "";
622
+ };
623
+ readonly PA: {
624
+ readonly name: "Panama";
625
+ readonly iso2: "PA";
626
+ readonly iso3: "PAN";
627
+ readonly numericCode: "591";
628
+ readonly phoneCode: "+507";
629
+ readonly phoneMaxDigits: 8;
630
+ readonly phoneTrunkPrefix: "";
631
+ };
632
+ readonly CN: {
633
+ readonly name: "China";
634
+ readonly iso2: "CN";
635
+ readonly iso3: "CHN";
636
+ readonly numericCode: "156";
637
+ readonly phoneCode: "+86";
638
+ readonly phoneMaxDigits: 11;
639
+ readonly phoneTrunkPrefix: "";
640
+ };
641
+ readonly JP: {
642
+ readonly name: "Japan";
643
+ readonly iso2: "JP";
644
+ readonly iso3: "JPN";
645
+ readonly numericCode: "392";
646
+ readonly phoneCode: "+81";
647
+ readonly phoneMaxDigits: 11;
648
+ readonly phoneTrunkPrefix: "0";
649
+ };
650
+ readonly IN: {
651
+ readonly name: "India";
652
+ readonly iso2: "IN";
653
+ readonly iso3: "IND";
654
+ readonly numericCode: "356";
655
+ readonly phoneCode: "+91";
656
+ readonly phoneMaxDigits: 10;
657
+ readonly phoneTrunkPrefix: "";
658
+ };
659
+ readonly KR: {
660
+ readonly name: "South Korea";
661
+ readonly iso2: "KR";
662
+ readonly iso3: "KOR";
663
+ readonly numericCode: "410";
664
+ readonly phoneCode: "+82";
665
+ readonly phoneMaxDigits: 11;
666
+ readonly phoneTrunkPrefix: "0";
667
+ };
668
+ readonly SG: {
669
+ readonly name: "Singapore";
670
+ readonly iso2: "SG";
671
+ readonly iso3: "SGP";
672
+ readonly numericCode: "702";
673
+ readonly phoneCode: "+65";
674
+ readonly phoneMaxDigits: 8;
675
+ readonly phoneTrunkPrefix: "";
676
+ };
677
+ readonly HK: {
678
+ readonly name: "Hong Kong";
679
+ readonly iso2: "HK";
680
+ readonly iso3: "HKG";
681
+ readonly numericCode: "344";
682
+ readonly phoneCode: "+852";
683
+ readonly phoneMaxDigits: 8;
684
+ readonly phoneTrunkPrefix: "";
685
+ };
686
+ readonly TW: {
687
+ readonly name: "Taiwan";
688
+ readonly iso2: "TW";
689
+ readonly iso3: "TWN";
690
+ readonly numericCode: "158";
691
+ readonly phoneCode: "+886";
692
+ readonly phoneMaxDigits: 10;
693
+ readonly phoneTrunkPrefix: "0";
694
+ };
695
+ readonly TH: {
696
+ readonly name: "Thailand";
697
+ readonly iso2: "TH";
698
+ readonly iso3: "THA";
699
+ readonly numericCode: "764";
700
+ readonly phoneCode: "+66";
701
+ readonly phoneMaxDigits: 10;
702
+ readonly phoneTrunkPrefix: "0";
703
+ };
704
+ readonly MY: {
705
+ readonly name: "Malaysia";
706
+ readonly iso2: "MY";
707
+ readonly iso3: "MYS";
708
+ readonly numericCode: "458";
709
+ readonly phoneCode: "+60";
710
+ readonly phoneMaxDigits: 11;
711
+ readonly phoneTrunkPrefix: "0";
712
+ };
713
+ readonly ID: {
714
+ readonly name: "Indonesia";
715
+ readonly iso2: "ID";
716
+ readonly iso3: "IDN";
717
+ readonly numericCode: "360";
718
+ readonly phoneCode: "+62";
719
+ readonly phoneMaxDigits: 13;
720
+ readonly phoneTrunkPrefix: "0";
721
+ };
722
+ readonly PH: {
723
+ readonly name: "Philippines";
724
+ readonly iso2: "PH";
725
+ readonly iso3: "PHL";
726
+ readonly numericCode: "608";
727
+ readonly phoneCode: "+63";
728
+ readonly phoneMaxDigits: 11;
729
+ readonly phoneTrunkPrefix: "0";
730
+ };
731
+ readonly VN: {
732
+ readonly name: "Vietnam";
733
+ readonly iso2: "VN";
734
+ readonly iso3: "VNM";
735
+ readonly numericCode: "704";
736
+ readonly phoneCode: "+84";
737
+ readonly phoneMaxDigits: 11;
738
+ readonly phoneTrunkPrefix: "0";
739
+ };
740
+ readonly PK: {
741
+ readonly name: "Pakistan";
742
+ readonly iso2: "PK";
743
+ readonly iso3: "PAK";
744
+ readonly numericCode: "586";
745
+ readonly phoneCode: "+92";
746
+ readonly phoneMaxDigits: 11;
747
+ readonly phoneTrunkPrefix: "0";
748
+ };
749
+ readonly BD: {
750
+ readonly name: "Bangladesh";
751
+ readonly iso2: "BD";
752
+ readonly iso3: "BGD";
753
+ readonly numericCode: "050";
754
+ readonly phoneCode: "+880";
755
+ readonly phoneMaxDigits: 11;
756
+ readonly phoneTrunkPrefix: "0";
757
+ };
758
+ readonly IL: {
759
+ readonly name: "Israel";
760
+ readonly iso2: "IL";
761
+ readonly iso3: "ISR";
762
+ readonly numericCode: "376";
763
+ readonly phoneCode: "+972";
764
+ readonly phoneMaxDigits: 13;
765
+ readonly phoneTrunkPrefix: "0";
766
+ };
767
+ readonly AE: {
768
+ readonly name: "United Arab Emirates";
769
+ readonly iso2: "AE";
770
+ readonly iso3: "ARE";
771
+ readonly numericCode: "784";
772
+ readonly phoneCode: "+971";
773
+ readonly phoneMaxDigits: 9;
774
+ readonly phoneTrunkPrefix: "";
775
+ };
776
+ readonly SA: {
777
+ readonly name: "Saudi Arabia";
778
+ readonly iso2: "SA";
779
+ readonly iso3: "SAU";
780
+ readonly numericCode: "682";
781
+ readonly phoneCode: "+966";
782
+ readonly phoneMaxDigits: 9;
783
+ readonly phoneTrunkPrefix: "";
784
+ };
785
+ readonly TR: {
786
+ readonly name: "Turkey";
787
+ readonly iso2: "TR";
788
+ readonly iso3: "TUR";
789
+ readonly numericCode: "792";
790
+ readonly phoneCode: "+90";
791
+ readonly phoneMaxDigits: 11;
792
+ readonly phoneTrunkPrefix: "0";
793
+ };
794
+ readonly NZ: {
795
+ readonly name: "New Zealand";
796
+ readonly iso2: "NZ";
797
+ readonly iso3: "NZL";
798
+ readonly numericCode: "554";
799
+ readonly phoneCode: "+64";
800
+ readonly phoneMaxDigits: 11;
801
+ readonly phoneTrunkPrefix: "0";
802
+ };
803
+ readonly ZA: {
804
+ readonly name: "South Africa";
805
+ readonly iso2: "ZA";
806
+ readonly iso3: "ZAF";
807
+ readonly numericCode: "710";
808
+ readonly phoneCode: "+27";
809
+ readonly phoneMaxDigits: 10;
810
+ readonly phoneTrunkPrefix: "0";
811
+ };
812
+ readonly EG: {
813
+ readonly name: "Egypt";
814
+ readonly iso2: "EG";
815
+ readonly iso3: "EGY";
816
+ readonly numericCode: "818";
817
+ readonly phoneCode: "+20";
818
+ readonly phoneMaxDigits: 11;
819
+ readonly phoneTrunkPrefix: "0";
820
+ };
821
+ readonly NG: {
822
+ readonly name: "Nigeria";
823
+ readonly iso2: "NG";
824
+ readonly iso3: "NGA";
825
+ readonly numericCode: "566";
826
+ readonly phoneCode: "+234";
827
+ readonly phoneMaxDigits: 11;
828
+ readonly phoneTrunkPrefix: "0";
829
+ };
830
+ readonly KE: {
831
+ readonly name: "Kenya";
832
+ readonly iso2: "KE";
833
+ readonly iso3: "KEN";
834
+ readonly numericCode: "404";
835
+ readonly phoneCode: "+254";
836
+ readonly phoneMaxDigits: 10;
837
+ readonly phoneTrunkPrefix: "0";
838
+ };
839
+ readonly MA: {
840
+ readonly name: "Morocco";
841
+ readonly iso2: "MA";
842
+ readonly iso3: "MAR";
843
+ readonly numericCode: "504";
844
+ readonly phoneCode: "+212";
845
+ readonly phoneMaxDigits: 10;
846
+ readonly phoneTrunkPrefix: "0";
847
+ };
848
+ readonly TN: {
849
+ readonly name: "Tunisia";
850
+ readonly iso2: "TN";
851
+ readonly iso3: "TUN";
852
+ readonly numericCode: "788";
853
+ readonly phoneCode: "+216";
854
+ readonly phoneMaxDigits: 8;
855
+ readonly phoneTrunkPrefix: "";
856
+ };
857
+ readonly DZ: {
858
+ readonly name: "Algeria";
859
+ readonly iso2: "DZ";
860
+ readonly iso3: "DZA";
861
+ readonly numericCode: "012";
862
+ readonly phoneCode: "+213";
863
+ readonly phoneMaxDigits: 10;
864
+ readonly phoneTrunkPrefix: "0";
865
+ };
866
+ readonly QA: {
867
+ readonly name: "Qatar";
868
+ readonly iso2: "QA";
869
+ readonly iso3: "QAT";
870
+ readonly numericCode: "634";
871
+ readonly phoneCode: "+974";
872
+ readonly phoneMaxDigits: 8;
873
+ readonly phoneTrunkPrefix: "";
874
+ };
875
+ readonly KW: {
876
+ readonly name: "Kuwait";
877
+ readonly iso2: "KW";
878
+ readonly iso3: "KWT";
879
+ readonly numericCode: "414";
880
+ readonly phoneCode: "+965";
881
+ readonly phoneMaxDigits: 8;
882
+ readonly phoneTrunkPrefix: "";
883
+ };
884
+ readonly OM: {
885
+ readonly name: "Oman";
886
+ readonly iso2: "OM";
887
+ readonly iso3: "OMN";
888
+ readonly numericCode: "512";
889
+ readonly phoneCode: "+968";
890
+ readonly phoneMaxDigits: 8;
891
+ readonly phoneTrunkPrefix: "";
892
+ };
893
+ readonly BH: {
894
+ readonly name: "Bahrain";
895
+ readonly iso2: "BH";
896
+ readonly iso3: "BHR";
897
+ readonly numericCode: "048";
898
+ readonly phoneCode: "+973";
899
+ readonly phoneMaxDigits: 8;
900
+ readonly phoneTrunkPrefix: "";
901
+ };
902
+ readonly LB: {
903
+ readonly name: "Lebanon";
904
+ readonly iso2: "LB";
905
+ readonly iso3: "LBN";
906
+ readonly numericCode: "422";
907
+ readonly phoneCode: "+961";
908
+ readonly phoneMaxDigits: 9;
909
+ readonly phoneTrunkPrefix: "0";
910
+ };
911
+ readonly JO: {
912
+ readonly name: "Jordan";
913
+ readonly iso2: "JO";
914
+ readonly iso3: "JOR";
915
+ readonly numericCode: "400";
916
+ readonly phoneCode: "+962";
917
+ readonly phoneMaxDigits: 10;
918
+ readonly phoneTrunkPrefix: "0";
919
+ };
920
+ readonly RU: {
921
+ readonly name: "Russia";
922
+ readonly iso2: "RU";
923
+ readonly iso3: "RUS";
924
+ readonly numericCode: "643";
925
+ readonly phoneCode: "+7";
926
+ readonly phoneMaxDigits: 10;
927
+ readonly phoneTrunkPrefix: "";
928
+ };
929
+ readonly UA: {
930
+ readonly name: "Ukraine";
931
+ readonly iso2: "UA";
932
+ readonly iso3: "UKR";
933
+ readonly numericCode: "804";
934
+ readonly phoneCode: "+380";
935
+ readonly phoneMaxDigits: 10;
936
+ readonly phoneTrunkPrefix: "0";
937
+ };
938
+ readonly BY: {
939
+ readonly name: "Belarus";
940
+ readonly iso2: "BY";
941
+ readonly iso3: "BLR";
942
+ readonly numericCode: "112";
943
+ readonly phoneCode: "+375";
944
+ readonly phoneMaxDigits: 9;
945
+ readonly phoneTrunkPrefix: "";
946
+ };
947
+ readonly KZ: {
948
+ readonly name: "Kazakhstan";
949
+ readonly iso2: "KZ";
950
+ readonly iso3: "KAZ";
951
+ readonly numericCode: "398";
952
+ readonly phoneCode: "+7";
953
+ readonly phoneMaxDigits: 10;
954
+ readonly phoneTrunkPrefix: "";
955
+ };
956
+ readonly AD: {
957
+ readonly name: "Andorra";
958
+ readonly iso2: "AD";
959
+ readonly iso3: "AND";
960
+ readonly numericCode: "020";
961
+ readonly phoneCode: "+376";
962
+ };
963
+ readonly AF: {
964
+ readonly name: "Afghanistan";
965
+ readonly iso2: "AF";
966
+ readonly iso3: "AFG";
967
+ readonly numericCode: "004";
968
+ readonly phoneCode: "+93";
969
+ };
970
+ readonly AG: {
971
+ readonly name: "Antigua & Barbuda";
972
+ readonly iso2: "AG";
973
+ readonly iso3: "ATG";
974
+ readonly numericCode: "028";
975
+ readonly phoneCode: "+1";
976
+ };
977
+ readonly AI: {
978
+ readonly name: "Anguilla";
979
+ readonly iso2: "AI";
980
+ readonly iso3: "AIA";
981
+ readonly numericCode: "660";
982
+ readonly phoneCode: "+1";
983
+ };
984
+ readonly AL: {
985
+ readonly name: "Albania";
986
+ readonly iso2: "AL";
987
+ readonly iso3: "ALB";
988
+ readonly numericCode: "008";
989
+ readonly phoneCode: "+355";
990
+ };
991
+ readonly AM: {
992
+ readonly name: "Armenia";
993
+ readonly iso2: "AM";
994
+ readonly iso3: "ARM";
995
+ readonly numericCode: "051";
996
+ readonly phoneCode: "+374";
997
+ };
998
+ readonly AO: {
999
+ readonly name: "Angola";
1000
+ readonly iso2: "AO";
1001
+ readonly iso3: "AGO";
1002
+ readonly numericCode: "024";
1003
+ readonly phoneCode: "+244";
1004
+ };
1005
+ readonly AS: {
1006
+ readonly name: "American Samoa";
1007
+ readonly iso2: "AS";
1008
+ readonly iso3: "ASM";
1009
+ readonly numericCode: "016";
1010
+ readonly phoneCode: "+1";
1011
+ };
1012
+ readonly AW: {
1013
+ readonly name: "Aruba";
1014
+ readonly iso2: "AW";
1015
+ readonly iso3: "ABW";
1016
+ readonly numericCode: "533";
1017
+ readonly phoneCode: "+297";
1018
+ };
1019
+ readonly AX: {
1020
+ readonly name: "Åland Islands";
1021
+ readonly iso2: "AX";
1022
+ readonly iso3: "ALA";
1023
+ readonly numericCode: "248";
1024
+ readonly phoneCode: "+358";
1025
+ };
1026
+ readonly AZ: {
1027
+ readonly name: "Azerbaijan";
1028
+ readonly iso2: "AZ";
1029
+ readonly iso3: "AZE";
1030
+ readonly numericCode: "031";
1031
+ readonly phoneCode: "+994";
1032
+ };
1033
+ readonly BA: {
1034
+ readonly name: "Bosnia & Herzegovina";
1035
+ readonly iso2: "BA";
1036
+ readonly iso3: "BIH";
1037
+ readonly numericCode: "070";
1038
+ readonly phoneCode: "+387";
1039
+ };
1040
+ readonly BB: {
1041
+ readonly name: "Barbados";
1042
+ readonly iso2: "BB";
1043
+ readonly iso3: "BRB";
1044
+ readonly numericCode: "052";
1045
+ readonly phoneCode: "+1";
1046
+ };
1047
+ readonly BF: {
1048
+ readonly name: "Burkina Faso";
1049
+ readonly iso2: "BF";
1050
+ readonly iso3: "BFA";
1051
+ readonly numericCode: "854";
1052
+ readonly phoneCode: "+226";
1053
+ };
1054
+ readonly BI: {
1055
+ readonly name: "Burundi";
1056
+ readonly iso2: "BI";
1057
+ readonly iso3: "BDI";
1058
+ readonly numericCode: "108";
1059
+ readonly phoneCode: "+257";
1060
+ };
1061
+ readonly BJ: {
1062
+ readonly name: "Benin";
1063
+ readonly iso2: "BJ";
1064
+ readonly iso3: "BEN";
1065
+ readonly numericCode: "204";
1066
+ readonly phoneCode: "+229";
1067
+ };
1068
+ readonly BL: {
1069
+ readonly name: "St. Barthélemy";
1070
+ readonly iso2: "BL";
1071
+ readonly iso3: "BLM";
1072
+ readonly numericCode: "652";
1073
+ readonly phoneCode: "+590";
1074
+ };
1075
+ readonly BM: {
1076
+ readonly name: "Bermuda";
1077
+ readonly iso2: "BM";
1078
+ readonly iso3: "BMU";
1079
+ readonly numericCode: "060";
1080
+ readonly phoneCode: "+1";
1081
+ };
1082
+ readonly BN: {
1083
+ readonly name: "Brunei";
1084
+ readonly iso2: "BN";
1085
+ readonly iso3: "BRN";
1086
+ readonly numericCode: "096";
1087
+ readonly phoneCode: "+673";
1088
+ };
1089
+ readonly BQ: {
1090
+ readonly name: "Caribbean Netherlands";
1091
+ readonly iso2: "BQ";
1092
+ readonly iso3: "BES";
1093
+ readonly numericCode: "535";
1094
+ readonly phoneCode: "+599";
1095
+ };
1096
+ readonly BS: {
1097
+ readonly name: "Bahamas";
1098
+ readonly iso2: "BS";
1099
+ readonly iso3: "BHS";
1100
+ readonly numericCode: "044";
1101
+ readonly phoneCode: "+1";
1102
+ };
1103
+ readonly BT: {
1104
+ readonly name: "Bhutan";
1105
+ readonly iso2: "BT";
1106
+ readonly iso3: "BTN";
1107
+ readonly numericCode: "064";
1108
+ readonly phoneCode: "+975";
1109
+ };
1110
+ readonly BW: {
1111
+ readonly name: "Botswana";
1112
+ readonly iso2: "BW";
1113
+ readonly iso3: "BWA";
1114
+ readonly numericCode: "072";
1115
+ readonly phoneCode: "+267";
1116
+ };
1117
+ readonly BZ: {
1118
+ readonly name: "Belize";
1119
+ readonly iso2: "BZ";
1120
+ readonly iso3: "BLZ";
1121
+ readonly numericCode: "084";
1122
+ readonly phoneCode: "+501";
1123
+ };
1124
+ readonly CC: {
1125
+ readonly name: "Cocos (Keeling) Islands";
1126
+ readonly iso2: "CC";
1127
+ readonly iso3: "CCK";
1128
+ readonly numericCode: "166";
1129
+ readonly phoneCode: "+61";
1130
+ };
1131
+ readonly CD: {
1132
+ readonly name: "Congo - Kinshasa";
1133
+ readonly iso2: "CD";
1134
+ readonly iso3: "COD";
1135
+ readonly numericCode: "180";
1136
+ readonly phoneCode: "+243";
1137
+ };
1138
+ readonly CF: {
1139
+ readonly name: "Central African Republic";
1140
+ readonly iso2: "CF";
1141
+ readonly iso3: "CAF";
1142
+ readonly numericCode: "140";
1143
+ readonly phoneCode: "+236";
1144
+ };
1145
+ readonly CG: {
1146
+ readonly name: "Congo - Brazzaville";
1147
+ readonly iso2: "CG";
1148
+ readonly iso3: "COG";
1149
+ readonly numericCode: "178";
1150
+ readonly phoneCode: "+242";
1151
+ };
1152
+ readonly CI: {
1153
+ readonly name: "Côte d’Ivoire";
1154
+ readonly iso2: "CI";
1155
+ readonly iso3: "CIV";
1156
+ readonly numericCode: "384";
1157
+ readonly phoneCode: "+225";
1158
+ };
1159
+ readonly CK: {
1160
+ readonly name: "Cook Islands";
1161
+ readonly iso2: "CK";
1162
+ readonly iso3: "COK";
1163
+ readonly numericCode: "184";
1164
+ readonly phoneCode: "+682";
1165
+ };
1166
+ readonly CM: {
1167
+ readonly name: "Cameroon";
1168
+ readonly iso2: "CM";
1169
+ readonly iso3: "CMR";
1170
+ readonly numericCode: "120";
1171
+ readonly phoneCode: "+237";
1172
+ };
1173
+ readonly CU: {
1174
+ readonly name: "Cuba";
1175
+ readonly iso2: "CU";
1176
+ readonly iso3: "CUB";
1177
+ readonly numericCode: "192";
1178
+ readonly phoneCode: "+53";
1179
+ };
1180
+ readonly CV: {
1181
+ readonly name: "Cape Verde";
1182
+ readonly iso2: "CV";
1183
+ readonly iso3: "CPV";
1184
+ readonly numericCode: "132";
1185
+ readonly phoneCode: "+238";
1186
+ };
1187
+ readonly CW: {
1188
+ readonly name: "Curaçao";
1189
+ readonly iso2: "CW";
1190
+ readonly iso3: "CUW";
1191
+ readonly numericCode: "531";
1192
+ readonly phoneCode: "+599";
1193
+ };
1194
+ readonly CX: {
1195
+ readonly name: "Christmas Island";
1196
+ readonly iso2: "CX";
1197
+ readonly iso3: "CXR";
1198
+ readonly numericCode: "162";
1199
+ readonly phoneCode: "+61";
1200
+ };
1201
+ readonly DJ: {
1202
+ readonly name: "Djibouti";
1203
+ readonly iso2: "DJ";
1204
+ readonly iso3: "DJI";
1205
+ readonly numericCode: "262";
1206
+ readonly phoneCode: "+253";
1207
+ };
1208
+ readonly DM: {
1209
+ readonly name: "Dominica";
1210
+ readonly iso2: "DM";
1211
+ readonly iso3: "DMA";
1212
+ readonly numericCode: "212";
1213
+ readonly phoneCode: "+1";
1214
+ };
1215
+ readonly DO: {
1216
+ readonly name: "Dominican Republic";
1217
+ readonly iso2: "DO";
1218
+ readonly iso3: "DOM";
1219
+ readonly numericCode: "214";
1220
+ readonly phoneCode: "+1";
1221
+ };
1222
+ readonly EH: {
1223
+ readonly name: "Western Sahara";
1224
+ readonly iso2: "EH";
1225
+ readonly iso3: "ESH";
1226
+ readonly numericCode: "732";
1227
+ readonly phoneCode: "+212";
1228
+ };
1229
+ readonly ER: {
1230
+ readonly name: "Eritrea";
1231
+ readonly iso2: "ER";
1232
+ readonly iso3: "ERI";
1233
+ readonly numericCode: "232";
1234
+ readonly phoneCode: "+291";
1235
+ };
1236
+ readonly ET: {
1237
+ readonly name: "Ethiopia";
1238
+ readonly iso2: "ET";
1239
+ readonly iso3: "ETH";
1240
+ readonly numericCode: "231";
1241
+ readonly phoneCode: "+251";
1242
+ };
1243
+ readonly FJ: {
1244
+ readonly name: "Fiji";
1245
+ readonly iso2: "FJ";
1246
+ readonly iso3: "FJI";
1247
+ readonly numericCode: "242";
1248
+ readonly phoneCode: "+679";
1249
+ };
1250
+ readonly FK: {
1251
+ readonly name: "Falkland Islands";
1252
+ readonly iso2: "FK";
1253
+ readonly iso3: "FLK";
1254
+ readonly numericCode: "238";
1255
+ readonly phoneCode: "+500";
1256
+ };
1257
+ readonly FM: {
1258
+ readonly name: "Micronesia";
1259
+ readonly iso2: "FM";
1260
+ readonly iso3: "FSM";
1261
+ readonly numericCode: "583";
1262
+ readonly phoneCode: "+691";
1263
+ };
1264
+ readonly FO: {
1265
+ readonly name: "Faroe Islands";
1266
+ readonly iso2: "FO";
1267
+ readonly iso3: "FRO";
1268
+ readonly numericCode: "234";
1269
+ readonly phoneCode: "+298";
1270
+ };
1271
+ readonly GA: {
1272
+ readonly name: "Gabon";
1273
+ readonly iso2: "GA";
1274
+ readonly iso3: "GAB";
1275
+ readonly numericCode: "266";
1276
+ readonly phoneCode: "+241";
1277
+ };
1278
+ readonly GD: {
1279
+ readonly name: "Grenada";
1280
+ readonly iso2: "GD";
1281
+ readonly iso3: "GRD";
1282
+ readonly numericCode: "308";
1283
+ readonly phoneCode: "+1";
1284
+ };
1285
+ readonly GE: {
1286
+ readonly name: "Georgia";
1287
+ readonly iso2: "GE";
1288
+ readonly iso3: "GEO";
1289
+ readonly numericCode: "268";
1290
+ readonly phoneCode: "+995";
1291
+ };
1292
+ readonly GF: {
1293
+ readonly name: "French Guiana";
1294
+ readonly iso2: "GF";
1295
+ readonly iso3: "GUF";
1296
+ readonly numericCode: "254";
1297
+ readonly phoneCode: "+594";
1298
+ };
1299
+ readonly GG: {
1300
+ readonly name: "Guernsey";
1301
+ readonly iso2: "GG";
1302
+ readonly iso3: "GGY";
1303
+ readonly numericCode: "831";
1304
+ readonly phoneCode: "+44";
1305
+ };
1306
+ readonly GH: {
1307
+ readonly name: "Ghana";
1308
+ readonly iso2: "GH";
1309
+ readonly iso3: "GHA";
1310
+ readonly numericCode: "288";
1311
+ readonly phoneCode: "+233";
1312
+ };
1313
+ readonly GI: {
1314
+ readonly name: "Gibraltar";
1315
+ readonly iso2: "GI";
1316
+ readonly iso3: "GIB";
1317
+ readonly numericCode: "292";
1318
+ readonly phoneCode: "+350";
1319
+ };
1320
+ readonly GL: {
1321
+ readonly name: "Greenland";
1322
+ readonly iso2: "GL";
1323
+ readonly iso3: "GRL";
1324
+ readonly numericCode: "304";
1325
+ readonly phoneCode: "+299";
1326
+ };
1327
+ readonly GM: {
1328
+ readonly name: "Gambia";
1329
+ readonly iso2: "GM";
1330
+ readonly iso3: "GMB";
1331
+ readonly numericCode: "270";
1332
+ readonly phoneCode: "+220";
1333
+ };
1334
+ readonly GN: {
1335
+ readonly name: "Guinea";
1336
+ readonly iso2: "GN";
1337
+ readonly iso3: "GIN";
1338
+ readonly numericCode: "324";
1339
+ readonly phoneCode: "+224";
1340
+ };
1341
+ readonly GP: {
1342
+ readonly name: "Guadeloupe";
1343
+ readonly iso2: "GP";
1344
+ readonly iso3: "GLP";
1345
+ readonly numericCode: "312";
1346
+ readonly phoneCode: "+590";
1347
+ };
1348
+ readonly GQ: {
1349
+ readonly name: "Equatorial Guinea";
1350
+ readonly iso2: "GQ";
1351
+ readonly iso3: "GNQ";
1352
+ readonly numericCode: "226";
1353
+ readonly phoneCode: "+240";
1354
+ };
1355
+ readonly GT: {
1356
+ readonly name: "Guatemala";
1357
+ readonly iso2: "GT";
1358
+ readonly iso3: "GTM";
1359
+ readonly numericCode: "320";
1360
+ readonly phoneCode: "+502";
1361
+ };
1362
+ readonly GU: {
1363
+ readonly name: "Guam";
1364
+ readonly iso2: "GU";
1365
+ readonly iso3: "GUM";
1366
+ readonly numericCode: "316";
1367
+ readonly phoneCode: "+1";
1368
+ };
1369
+ readonly GW: {
1370
+ readonly name: "Guinea-Bissau";
1371
+ readonly iso2: "GW";
1372
+ readonly iso3: "GNB";
1373
+ readonly numericCode: "624";
1374
+ readonly phoneCode: "+245";
1375
+ };
1376
+ readonly GY: {
1377
+ readonly name: "Guyana";
1378
+ readonly iso2: "GY";
1379
+ readonly iso3: "GUY";
1380
+ readonly numericCode: "328";
1381
+ readonly phoneCode: "+592";
1382
+ };
1383
+ readonly HN: {
1384
+ readonly name: "Honduras";
1385
+ readonly iso2: "HN";
1386
+ readonly iso3: "HND";
1387
+ readonly numericCode: "340";
1388
+ readonly phoneCode: "+504";
1389
+ };
1390
+ readonly HT: {
1391
+ readonly name: "Haiti";
1392
+ readonly iso2: "HT";
1393
+ readonly iso3: "HTI";
1394
+ readonly numericCode: "332";
1395
+ readonly phoneCode: "+509";
1396
+ };
1397
+ readonly IM: {
1398
+ readonly name: "Isle of Man";
1399
+ readonly iso2: "IM";
1400
+ readonly iso3: "IMN";
1401
+ readonly numericCode: "833";
1402
+ readonly phoneCode: "+44";
1403
+ };
1404
+ readonly IO: {
1405
+ readonly name: "British Indian Ocean Territory";
1406
+ readonly iso2: "IO";
1407
+ readonly iso3: "IOT";
1408
+ readonly numericCode: "086";
1409
+ readonly phoneCode: "+246";
1410
+ };
1411
+ readonly IQ: {
1412
+ readonly name: "Iraq";
1413
+ readonly iso2: "IQ";
1414
+ readonly iso3: "IRQ";
1415
+ readonly numericCode: "368";
1416
+ readonly phoneCode: "+964";
1417
+ };
1418
+ readonly IR: {
1419
+ readonly name: "Iran";
1420
+ readonly iso2: "IR";
1421
+ readonly iso3: "IRN";
1422
+ readonly numericCode: "364";
1423
+ readonly phoneCode: "+98";
1424
+ };
1425
+ readonly JE: {
1426
+ readonly name: "Jersey";
1427
+ readonly iso2: "JE";
1428
+ readonly iso3: "JEY";
1429
+ readonly numericCode: "832";
1430
+ readonly phoneCode: "+44";
1431
+ };
1432
+ readonly JM: {
1433
+ readonly name: "Jamaica";
1434
+ readonly iso2: "JM";
1435
+ readonly iso3: "JAM";
1436
+ readonly numericCode: "388";
1437
+ readonly phoneCode: "+1";
1438
+ };
1439
+ readonly KG: {
1440
+ readonly name: "Kyrgyzstan";
1441
+ readonly iso2: "KG";
1442
+ readonly iso3: "KGZ";
1443
+ readonly numericCode: "417";
1444
+ readonly phoneCode: "+996";
1445
+ };
1446
+ readonly KH: {
1447
+ readonly name: "Cambodia";
1448
+ readonly iso2: "KH";
1449
+ readonly iso3: "KHM";
1450
+ readonly numericCode: "116";
1451
+ readonly phoneCode: "+855";
1452
+ };
1453
+ readonly KI: {
1454
+ readonly name: "Kiribati";
1455
+ readonly iso2: "KI";
1456
+ readonly iso3: "KIR";
1457
+ readonly numericCode: "296";
1458
+ readonly phoneCode: "+686";
1459
+ };
1460
+ readonly KM: {
1461
+ readonly name: "Comoros";
1462
+ readonly iso2: "KM";
1463
+ readonly iso3: "COM";
1464
+ readonly numericCode: "174";
1465
+ readonly phoneCode: "+269";
1466
+ };
1467
+ readonly KN: {
1468
+ readonly name: "St. Kitts & Nevis";
1469
+ readonly iso2: "KN";
1470
+ readonly iso3: "KNA";
1471
+ readonly numericCode: "659";
1472
+ readonly phoneCode: "+1";
1473
+ };
1474
+ readonly KP: {
1475
+ readonly name: "North Korea";
1476
+ readonly iso2: "KP";
1477
+ readonly iso3: "PRK";
1478
+ readonly numericCode: "408";
1479
+ readonly phoneCode: "+850";
1480
+ };
1481
+ readonly KY: {
1482
+ readonly name: "Cayman Islands";
1483
+ readonly iso2: "KY";
1484
+ readonly iso3: "CYM";
1485
+ readonly numericCode: "136";
1486
+ readonly phoneCode: "+1";
1487
+ };
1488
+ readonly LA: {
1489
+ readonly name: "Laos";
1490
+ readonly iso2: "LA";
1491
+ readonly iso3: "LAO";
1492
+ readonly numericCode: "418";
1493
+ readonly phoneCode: "+856";
1494
+ };
1495
+ readonly LC: {
1496
+ readonly name: "St. Lucia";
1497
+ readonly iso2: "LC";
1498
+ readonly iso3: "LCA";
1499
+ readonly numericCode: "662";
1500
+ readonly phoneCode: "+1";
1501
+ };
1502
+ readonly LI: {
1503
+ readonly name: "Liechtenstein";
1504
+ readonly iso2: "LI";
1505
+ readonly iso3: "LIE";
1506
+ readonly numericCode: "438";
1507
+ readonly phoneCode: "+423";
1508
+ };
1509
+ readonly LK: {
1510
+ readonly name: "Sri Lanka";
1511
+ readonly iso2: "LK";
1512
+ readonly iso3: "LKA";
1513
+ readonly numericCode: "144";
1514
+ readonly phoneCode: "+94";
1515
+ };
1516
+ readonly LR: {
1517
+ readonly name: "Liberia";
1518
+ readonly iso2: "LR";
1519
+ readonly iso3: "LBR";
1520
+ readonly numericCode: "430";
1521
+ readonly phoneCode: "+231";
1522
+ };
1523
+ readonly LS: {
1524
+ readonly name: "Lesotho";
1525
+ readonly iso2: "LS";
1526
+ readonly iso3: "LSO";
1527
+ readonly numericCode: "426";
1528
+ readonly phoneCode: "+266";
1529
+ };
1530
+ readonly LY: {
1531
+ readonly name: "Libya";
1532
+ readonly iso2: "LY";
1533
+ readonly iso3: "LBY";
1534
+ readonly numericCode: "434";
1535
+ readonly phoneCode: "+218";
1536
+ };
1537
+ readonly MD: {
1538
+ readonly name: "Moldova";
1539
+ readonly iso2: "MD";
1540
+ readonly iso3: "MDA";
1541
+ readonly numericCode: "498";
1542
+ readonly phoneCode: "+373";
1543
+ };
1544
+ readonly ME: {
1545
+ readonly name: "Montenegro";
1546
+ readonly iso2: "ME";
1547
+ readonly iso3: "MNE";
1548
+ readonly numericCode: "499";
1549
+ readonly phoneCode: "+382";
1550
+ };
1551
+ readonly MF: {
1552
+ readonly name: "St. Martin";
1553
+ readonly iso2: "MF";
1554
+ readonly iso3: "MAF";
1555
+ readonly numericCode: "663";
1556
+ readonly phoneCode: "+590";
1557
+ };
1558
+ readonly MG: {
1559
+ readonly name: "Madagascar";
1560
+ readonly iso2: "MG";
1561
+ readonly iso3: "MDG";
1562
+ readonly numericCode: "450";
1563
+ readonly phoneCode: "+261";
1564
+ };
1565
+ readonly MH: {
1566
+ readonly name: "Marshall Islands";
1567
+ readonly iso2: "MH";
1568
+ readonly iso3: "MHL";
1569
+ readonly numericCode: "584";
1570
+ readonly phoneCode: "+692";
1571
+ };
1572
+ readonly MK: {
1573
+ readonly name: "North Macedonia";
1574
+ readonly iso2: "MK";
1575
+ readonly iso3: "MKD";
1576
+ readonly numericCode: "807";
1577
+ readonly phoneCode: "+389";
1578
+ };
1579
+ readonly ML: {
1580
+ readonly name: "Mali";
1581
+ readonly iso2: "ML";
1582
+ readonly iso3: "MLI";
1583
+ readonly numericCode: "466";
1584
+ readonly phoneCode: "+223";
1585
+ };
1586
+ readonly MM: {
1587
+ readonly name: "Myanmar (Burma)";
1588
+ readonly iso2: "MM";
1589
+ readonly iso3: "MMR";
1590
+ readonly numericCode: "104";
1591
+ readonly phoneCode: "+95";
1592
+ };
1593
+ readonly MN: {
1594
+ readonly name: "Mongolia";
1595
+ readonly iso2: "MN";
1596
+ readonly iso3: "MNG";
1597
+ readonly numericCode: "496";
1598
+ readonly phoneCode: "+976";
1599
+ };
1600
+ readonly MO: {
1601
+ readonly name: "Macao SAR China";
1602
+ readonly iso2: "MO";
1603
+ readonly iso3: "MAC";
1604
+ readonly numericCode: "446";
1605
+ readonly phoneCode: "+853";
1606
+ };
1607
+ readonly MP: {
1608
+ readonly name: "Northern Mariana Islands";
1609
+ readonly iso2: "MP";
1610
+ readonly iso3: "MNP";
1611
+ readonly numericCode: "580";
1612
+ readonly phoneCode: "+1";
1613
+ };
1614
+ readonly MQ: {
1615
+ readonly name: "Martinique";
1616
+ readonly iso2: "MQ";
1617
+ readonly iso3: "MTQ";
1618
+ readonly numericCode: "474";
1619
+ readonly phoneCode: "+596";
1620
+ };
1621
+ readonly MR: {
1622
+ readonly name: "Mauritania";
1623
+ readonly iso2: "MR";
1624
+ readonly iso3: "MRT";
1625
+ readonly numericCode: "478";
1626
+ readonly phoneCode: "+222";
1627
+ };
1628
+ readonly MS: {
1629
+ readonly name: "Montserrat";
1630
+ readonly iso2: "MS";
1631
+ readonly iso3: "MSR";
1632
+ readonly numericCode: "500";
1633
+ readonly phoneCode: "+1";
1634
+ };
1635
+ readonly MU: {
1636
+ readonly name: "Mauritius";
1637
+ readonly iso2: "MU";
1638
+ readonly iso3: "MUS";
1639
+ readonly numericCode: "480";
1640
+ readonly phoneCode: "+230";
1641
+ };
1642
+ readonly MV: {
1643
+ readonly name: "Maldives";
1644
+ readonly iso2: "MV";
1645
+ readonly iso3: "MDV";
1646
+ readonly numericCode: "462";
1647
+ readonly phoneCode: "+960";
1648
+ };
1649
+ readonly MW: {
1650
+ readonly name: "Malawi";
1651
+ readonly iso2: "MW";
1652
+ readonly iso3: "MWI";
1653
+ readonly numericCode: "454";
1654
+ readonly phoneCode: "+265";
1655
+ };
1656
+ readonly MZ: {
1657
+ readonly name: "Mozambique";
1658
+ readonly iso2: "MZ";
1659
+ readonly iso3: "MOZ";
1660
+ readonly numericCode: "508";
1661
+ readonly phoneCode: "+258";
1662
+ };
1663
+ readonly NA: {
1664
+ readonly name: "Namibia";
1665
+ readonly iso2: "NA";
1666
+ readonly iso3: "NAM";
1667
+ readonly numericCode: "516";
1668
+ readonly phoneCode: "+264";
1669
+ };
1670
+ readonly NC: {
1671
+ readonly name: "New Caledonia";
1672
+ readonly iso2: "NC";
1673
+ readonly iso3: "NCL";
1674
+ readonly numericCode: "540";
1675
+ readonly phoneCode: "+687";
1676
+ };
1677
+ readonly NE: {
1678
+ readonly name: "Niger";
1679
+ readonly iso2: "NE";
1680
+ readonly iso3: "NER";
1681
+ readonly numericCode: "562";
1682
+ readonly phoneCode: "+227";
1683
+ };
1684
+ readonly NF: {
1685
+ readonly name: "Norfolk Island";
1686
+ readonly iso2: "NF";
1687
+ readonly iso3: "NFK";
1688
+ readonly numericCode: "574";
1689
+ readonly phoneCode: "+672";
1690
+ };
1691
+ readonly NI: {
1692
+ readonly name: "Nicaragua";
1693
+ readonly iso2: "NI";
1694
+ readonly iso3: "NIC";
1695
+ readonly numericCode: "558";
1696
+ readonly phoneCode: "+505";
1697
+ };
1698
+ readonly NP: {
1699
+ readonly name: "Nepal";
1700
+ readonly iso2: "NP";
1701
+ readonly iso3: "NPL";
1702
+ readonly numericCode: "524";
1703
+ readonly phoneCode: "+977";
1704
+ };
1705
+ readonly NR: {
1706
+ readonly name: "Nauru";
1707
+ readonly iso2: "NR";
1708
+ readonly iso3: "NRU";
1709
+ readonly numericCode: "520";
1710
+ readonly phoneCode: "+674";
1711
+ };
1712
+ readonly NU: {
1713
+ readonly name: "Niue";
1714
+ readonly iso2: "NU";
1715
+ readonly iso3: "NIU";
1716
+ readonly numericCode: "570";
1717
+ readonly phoneCode: "+683";
1718
+ };
1719
+ readonly PF: {
1720
+ readonly name: "French Polynesia";
1721
+ readonly iso2: "PF";
1722
+ readonly iso3: "PYF";
1723
+ readonly numericCode: "258";
1724
+ readonly phoneCode: "+689";
1725
+ };
1726
+ readonly PG: {
1727
+ readonly name: "Papua New Guinea";
1728
+ readonly iso2: "PG";
1729
+ readonly iso3: "PNG";
1730
+ readonly numericCode: "598";
1731
+ readonly phoneCode: "+675";
1732
+ };
1733
+ readonly PM: {
1734
+ readonly name: "St. Pierre & Miquelon";
1735
+ readonly iso2: "PM";
1736
+ readonly iso3: "SPM";
1737
+ readonly numericCode: "666";
1738
+ readonly phoneCode: "+508";
1739
+ };
1740
+ readonly PR: {
1741
+ readonly name: "Puerto Rico";
1742
+ readonly iso2: "PR";
1743
+ readonly iso3: "PRI";
1744
+ readonly numericCode: "630";
1745
+ readonly phoneCode: "+1";
1746
+ };
1747
+ readonly PS: {
1748
+ readonly name: "Palestinian Territories";
1749
+ readonly iso2: "PS";
1750
+ readonly iso3: "PSE";
1751
+ readonly numericCode: "275";
1752
+ readonly phoneCode: "+970";
1753
+ };
1754
+ readonly PW: {
1755
+ readonly name: "Palau";
1756
+ readonly iso2: "PW";
1757
+ readonly iso3: "PLW";
1758
+ readonly numericCode: "585";
1759
+ readonly phoneCode: "+680";
1760
+ };
1761
+ readonly RE: {
1762
+ readonly name: "Réunion";
1763
+ readonly iso2: "RE";
1764
+ readonly iso3: "REU";
1765
+ readonly numericCode: "638";
1766
+ readonly phoneCode: "+262";
1767
+ };
1768
+ readonly RS: {
1769
+ readonly name: "Serbia";
1770
+ readonly iso2: "RS";
1771
+ readonly iso3: "SRB";
1772
+ readonly numericCode: "688";
1773
+ readonly phoneCode: "+381";
1774
+ };
1775
+ readonly RW: {
1776
+ readonly name: "Rwanda";
1777
+ readonly iso2: "RW";
1778
+ readonly iso3: "RWA";
1779
+ readonly numericCode: "646";
1780
+ readonly phoneCode: "+250";
1781
+ };
1782
+ readonly SB: {
1783
+ readonly name: "Solomon Islands";
1784
+ readonly iso2: "SB";
1785
+ readonly iso3: "SLB";
1786
+ readonly numericCode: "090";
1787
+ readonly phoneCode: "+677";
1788
+ };
1789
+ readonly SC: {
1790
+ readonly name: "Seychelles";
1791
+ readonly iso2: "SC";
1792
+ readonly iso3: "SYC";
1793
+ readonly numericCode: "690";
1794
+ readonly phoneCode: "+248";
1795
+ };
1796
+ readonly SD: {
1797
+ readonly name: "Sudan";
1798
+ readonly iso2: "SD";
1799
+ readonly iso3: "SDN";
1800
+ readonly numericCode: "729";
1801
+ readonly phoneCode: "+249";
1802
+ };
1803
+ readonly SH: {
1804
+ readonly name: "St. Helena";
1805
+ readonly iso2: "SH";
1806
+ readonly iso3: "SHN";
1807
+ readonly numericCode: "654";
1808
+ readonly phoneCode: "+290";
1809
+ };
1810
+ readonly SJ: {
1811
+ readonly name: "Svalbard & Jan Mayen";
1812
+ readonly iso2: "SJ";
1813
+ readonly iso3: "SJM";
1814
+ readonly numericCode: "744";
1815
+ readonly phoneCode: "+47";
1816
+ };
1817
+ readonly SL: {
1818
+ readonly name: "Sierra Leone";
1819
+ readonly iso2: "SL";
1820
+ readonly iso3: "SLE";
1821
+ readonly numericCode: "694";
1822
+ readonly phoneCode: "+232";
1823
+ };
1824
+ readonly SM: {
1825
+ readonly name: "San Marino";
1826
+ readonly iso2: "SM";
1827
+ readonly iso3: "SMR";
1828
+ readonly numericCode: "674";
1829
+ readonly phoneCode: "+378";
1830
+ };
1831
+ readonly SN: {
1832
+ readonly name: "Senegal";
1833
+ readonly iso2: "SN";
1834
+ readonly iso3: "SEN";
1835
+ readonly numericCode: "686";
1836
+ readonly phoneCode: "+221";
1837
+ };
1838
+ readonly SO: {
1839
+ readonly name: "Somalia";
1840
+ readonly iso2: "SO";
1841
+ readonly iso3: "SOM";
1842
+ readonly numericCode: "706";
1843
+ readonly phoneCode: "+252";
1844
+ };
1845
+ readonly SR: {
1846
+ readonly name: "Suriname";
1847
+ readonly iso2: "SR";
1848
+ readonly iso3: "SUR";
1849
+ readonly numericCode: "740";
1850
+ readonly phoneCode: "+597";
1851
+ };
1852
+ readonly SS: {
1853
+ readonly name: "South Sudan";
1854
+ readonly iso2: "SS";
1855
+ readonly iso3: "SSD";
1856
+ readonly numericCode: "728";
1857
+ readonly phoneCode: "+211";
1858
+ };
1859
+ readonly ST: {
1860
+ readonly name: "São Tomé & Príncipe";
1861
+ readonly iso2: "ST";
1862
+ readonly iso3: "STP";
1863
+ readonly numericCode: "678";
1864
+ readonly phoneCode: "+239";
1865
+ };
1866
+ readonly SV: {
1867
+ readonly name: "El Salvador";
1868
+ readonly iso2: "SV";
1869
+ readonly iso3: "SLV";
1870
+ readonly numericCode: "222";
1871
+ readonly phoneCode: "+503";
1872
+ };
1873
+ readonly SX: {
1874
+ readonly name: "Sint Maarten";
1875
+ readonly iso2: "SX";
1876
+ readonly iso3: "SXM";
1877
+ readonly numericCode: "534";
1878
+ readonly phoneCode: "+1";
1879
+ };
1880
+ readonly SY: {
1881
+ readonly name: "Syria";
1882
+ readonly iso2: "SY";
1883
+ readonly iso3: "SYR";
1884
+ readonly numericCode: "760";
1885
+ readonly phoneCode: "+963";
1886
+ };
1887
+ readonly SZ: {
1888
+ readonly name: "Eswatini";
1889
+ readonly iso2: "SZ";
1890
+ readonly iso3: "SWZ";
1891
+ readonly numericCode: "748";
1892
+ readonly phoneCode: "+268";
1893
+ };
1894
+ readonly TC: {
1895
+ readonly name: "Turks & Caicos Islands";
1896
+ readonly iso2: "TC";
1897
+ readonly iso3: "TCA";
1898
+ readonly numericCode: "796";
1899
+ readonly phoneCode: "+1";
1900
+ };
1901
+ readonly TD: {
1902
+ readonly name: "Chad";
1903
+ readonly iso2: "TD";
1904
+ readonly iso3: "TCD";
1905
+ readonly numericCode: "148";
1906
+ readonly phoneCode: "+235";
1907
+ };
1908
+ readonly TG: {
1909
+ readonly name: "Togo";
1910
+ readonly iso2: "TG";
1911
+ readonly iso3: "TGO";
1912
+ readonly numericCode: "768";
1913
+ readonly phoneCode: "+228";
1914
+ };
1915
+ readonly TJ: {
1916
+ readonly name: "Tajikistan";
1917
+ readonly iso2: "TJ";
1918
+ readonly iso3: "TJK";
1919
+ readonly numericCode: "762";
1920
+ readonly phoneCode: "+992";
1921
+ };
1922
+ readonly TK: {
1923
+ readonly name: "Tokelau";
1924
+ readonly iso2: "TK";
1925
+ readonly iso3: "TKL";
1926
+ readonly numericCode: "772";
1927
+ readonly phoneCode: "+690";
1928
+ };
1929
+ readonly TL: {
1930
+ readonly name: "Timor-Leste";
1931
+ readonly iso2: "TL";
1932
+ readonly iso3: "TLS";
1933
+ readonly numericCode: "626";
1934
+ readonly phoneCode: "+670";
1935
+ };
1936
+ readonly TM: {
1937
+ readonly name: "Turkmenistan";
1938
+ readonly iso2: "TM";
1939
+ readonly iso3: "TKM";
1940
+ readonly numericCode: "795";
1941
+ readonly phoneCode: "+993";
1942
+ };
1943
+ readonly TO: {
1944
+ readonly name: "Tonga";
1945
+ readonly iso2: "TO";
1946
+ readonly iso3: "TON";
1947
+ readonly numericCode: "776";
1948
+ readonly phoneCode: "+676";
1949
+ };
1950
+ readonly TT: {
1951
+ readonly name: "Trinidad & Tobago";
1952
+ readonly iso2: "TT";
1953
+ readonly iso3: "TTO";
1954
+ readonly numericCode: "780";
1955
+ readonly phoneCode: "+1";
1956
+ };
1957
+ readonly TV: {
1958
+ readonly name: "Tuvalu";
1959
+ readonly iso2: "TV";
1960
+ readonly iso3: "TUV";
1961
+ readonly numericCode: "798";
1962
+ readonly phoneCode: "+688";
1963
+ };
1964
+ readonly TZ: {
1965
+ readonly name: "Tanzania";
1966
+ readonly iso2: "TZ";
1967
+ readonly iso3: "TZA";
1968
+ readonly numericCode: "834";
1969
+ readonly phoneCode: "+255";
1970
+ };
1971
+ readonly UG: {
1972
+ readonly name: "Uganda";
1973
+ readonly iso2: "UG";
1974
+ readonly iso3: "UGA";
1975
+ readonly numericCode: "800";
1976
+ readonly phoneCode: "+256";
1977
+ };
1978
+ readonly UZ: {
1979
+ readonly name: "Uzbekistan";
1980
+ readonly iso2: "UZ";
1981
+ readonly iso3: "UZB";
1982
+ readonly numericCode: "860";
1983
+ readonly phoneCode: "+998";
1984
+ };
1985
+ readonly VA: {
1986
+ readonly name: "Vatican City";
1987
+ readonly iso2: "VA";
1988
+ readonly iso3: "VAT";
1989
+ readonly numericCode: "336";
1990
+ readonly phoneCode: "+39";
1991
+ };
1992
+ readonly VC: {
1993
+ readonly name: "St. Vincent & Grenadines";
1994
+ readonly iso2: "VC";
1995
+ readonly iso3: "VCT";
1996
+ readonly numericCode: "670";
1997
+ readonly phoneCode: "+1";
1998
+ };
1999
+ readonly VG: {
2000
+ readonly name: "British Virgin Islands";
2001
+ readonly iso2: "VG";
2002
+ readonly iso3: "VGB";
2003
+ readonly numericCode: "092";
2004
+ readonly phoneCode: "+1";
2005
+ };
2006
+ readonly VI: {
2007
+ readonly name: "U.S. Virgin Islands";
2008
+ readonly iso2: "VI";
2009
+ readonly iso3: "VIR";
2010
+ readonly numericCode: "850";
2011
+ readonly phoneCode: "+1";
2012
+ };
2013
+ readonly VU: {
2014
+ readonly name: "Vanuatu";
2015
+ readonly iso2: "VU";
2016
+ readonly iso3: "VUT";
2017
+ readonly numericCode: "548";
2018
+ readonly phoneCode: "+678";
2019
+ };
2020
+ readonly WF: {
2021
+ readonly name: "Wallis & Futuna";
2022
+ readonly iso2: "WF";
2023
+ readonly iso3: "WLF";
2024
+ readonly numericCode: "876";
2025
+ readonly phoneCode: "+681";
2026
+ };
2027
+ readonly WS: {
2028
+ readonly name: "Samoa";
2029
+ readonly iso2: "WS";
2030
+ readonly iso3: "WSM";
2031
+ readonly numericCode: "882";
2032
+ readonly phoneCode: "+685";
2033
+ };
2034
+ readonly YE: {
2035
+ readonly name: "Yemen";
2036
+ readonly iso2: "YE";
2037
+ readonly iso3: "YEM";
2038
+ readonly numericCode: "887";
2039
+ readonly phoneCode: "+967";
2040
+ };
2041
+ readonly YT: {
2042
+ readonly name: "Mayotte";
2043
+ readonly iso2: "YT";
2044
+ readonly iso3: "MYT";
2045
+ readonly numericCode: "175";
2046
+ readonly phoneCode: "+262";
2047
+ };
2048
+ readonly ZM: {
2049
+ readonly name: "Zambia";
2050
+ readonly iso2: "ZM";
2051
+ readonly iso3: "ZMB";
2052
+ readonly numericCode: "894";
2053
+ readonly phoneCode: "+260";
2054
+ };
2055
+ readonly ZW: {
2056
+ readonly name: "Zimbabwe";
2057
+ readonly iso2: "ZW";
2058
+ readonly iso3: "ZWE";
2059
+ readonly numericCode: "716";
2060
+ readonly phoneCode: "+263";
2061
+ };
2062
+ };
2063
+ export type CountryIso2 = keyof typeof COUNTRIES;
2064
+ export type CountryIso3 = (typeof COUNTRIES)[CountryIso2]["iso3"];
2065
+ export type CountryPhoneCode = (typeof COUNTRIES)[CountryIso2]["phoneCode"];
2066
+ export type CountryName = (typeof COUNTRIES)[CountryIso2]["name"];
2067
+ export type CountryNumericCode = (typeof COUNTRIES)[CountryIso2]["numericCode"];
2068
+ export declare const getCountryByIso2: (iso2: string) => Country | undefined;
2069
+ export declare const getCountryByIso3: (iso3: string) => Country | undefined;
2070
+ export declare const getAllCountries: () => Country[];
2071
+ export declare const getPhoneMaxDigits: (iso2: string) => number;
2072
+ export declare const getPhoneTrunkPrefix: (iso2: string) => string;
2073
+ /**
2074
+ * Type guard to check if a string is a valid ISO2 country code
2075
+ */
2076
+ export declare const isValidIso2: (code: string) => code is CountryIso2;
2077
+ /**
2078
+ * Type guard to check if a string is a valid ISO3 country code
2079
+ */
2080
+ export declare const isValidIso3: (code: string) => code is CountryIso3;
2081
+ /**
2082
+ * Get the display name of a country in the specified locale.
2083
+ * Defaults to French with English as fallback.
2084
+ * Uses Intl.DisplayNames for locale-aware names (e.g., "Italie" for "IT" in French).
2085
+ * The Intl.DisplayNames instance is cached at module level to avoid repeated allocations.
2086
+ *
2087
+ * @param iso2 - ISO 3166-1 alpha-2 country code (e.g., "FR", "IT")
2088
+ * @param locales - BCP 47 language tags in preference order (default: ['fr', 'en'])
2089
+ */
2090
+ export declare function getCountryDisplayName(iso2: string, locales?: string | string[]): string;
2091
+ /**
2092
+ * Get the display name of a country by its ISO 3166-1 alpha-3 code.
2093
+ * Defaults to French with English as fallback.
2094
+ *
2095
+ * @param iso3 - ISO 3166-1 alpha-3 country code (e.g., "FRA", "ITA")
2096
+ * @param locales - BCP 47 language tags in preference order (default: ['fr', 'en'])
2097
+ */
2098
+ export declare function getCountryDisplayNameByIso3(iso3: string, locales?: string | string[]): string;
2099
+ /**
2100
+ * Get all countries sorted alphabetically by their display name in the given locale.
2101
+ * Sorted once per locale; each call answers its own copy, so a caller that
2102
+ * reorders or splices its list never changes the next caller's.
2103
+ *
2104
+ * @param locale - BCP 47 language tag for sorting (default: 'fr')
2105
+ */
2106
+ export declare function getSortedCountries(locale?: string): Country[];
2107
+ /**
2108
+ * Narrow a country-derived list to an attribute's `allowedCountries`.
2109
+ *
2110
+ * Three surfaces build their own shape over the same countries — the location
2111
+ * editor keeps `Country`, the phone input keeps `{value,label,phoneCode}`, the
2112
+ * filter bar keeps `Option` — but the narrowing was character-identical in all
2113
+ * three, so it lives here once and each caller keeps only its label shaping.
2114
+ *
2115
+ * An absent OR empty `allowed` narrows to nothing: an attribute that names no
2116
+ * country allows them all, which is what "unrestricted" means everywhere the
2117
+ * builder writes it (a caller that dropped the length test left the phone
2118
+ * picker with no country at all for `allowedCountries: []`).
2119
+ *
2120
+ * @example
2121
+ * narrowCountries(getSortedCountries(), ["FRA"], (c) => c.iso3)
2122
+ */
2123
+ export declare function narrowCountries<T>(list: readonly T[], allowed: readonly string[] | undefined, iso3: (entry: T) => string): readonly T[];
2124
+ /**
2125
+ * Strip the national trunk prefix from a phone number.
2126
+ * Pure string operation, no external dependencies.
2127
+ *
2128
+ * @example
2129
+ * stripTrunkPrefix("0612345678", "0") // "612345678"
2130
+ * stripTrunkPrefix("612345678", "0") // "612345678" (no prefix to strip)
2131
+ * stripTrunkPrefix("06301234567", "06") // "301234567" (Hungary)
2132
+ */
2133
+ export declare function stripTrunkPrefix(phoneNumber: string, trunkPrefix: string): string;
2134
+ //#endregion
2135
+ //#region src/currencies.d.ts
2136
+ export interface Currency {
2137
+ code: string;
2138
+ name: string;
2139
+ symbol: string;
2140
+ decimals: number;
2141
+ }
2142
+ export declare const CURRENCIES: {
2143
+ readonly USD: {
2144
+ readonly code: "USD";
2145
+ readonly name: "US Dollar";
2146
+ readonly symbol: "$";
2147
+ readonly decimals: 2;
2148
+ };
2149
+ readonly EUR: {
2150
+ readonly code: "EUR";
2151
+ readonly name: "Euro";
2152
+ readonly symbol: "€";
2153
+ readonly decimals: 2;
2154
+ };
2155
+ readonly GBP: {
2156
+ readonly code: "GBP";
2157
+ readonly name: "British Pound";
2158
+ readonly symbol: "£";
2159
+ readonly decimals: 2;
2160
+ };
2161
+ readonly JPY: {
2162
+ readonly code: "JPY";
2163
+ readonly name: "Japanese Yen";
2164
+ readonly symbol: "¥";
2165
+ readonly decimals: 0;
2166
+ };
2167
+ readonly CNY: {
2168
+ readonly code: "CNY";
2169
+ readonly name: "Chinese Yuan";
2170
+ readonly symbol: "¥";
2171
+ readonly decimals: 2;
2172
+ };
2173
+ readonly CHF: {
2174
+ readonly code: "CHF";
2175
+ readonly name: "Swiss Franc";
2176
+ readonly symbol: "CHF";
2177
+ readonly decimals: 2;
2178
+ };
2179
+ readonly SEK: {
2180
+ readonly code: "SEK";
2181
+ readonly name: "Swedish Krona";
2182
+ readonly symbol: "kr";
2183
+ readonly decimals: 2;
2184
+ };
2185
+ readonly NOK: {
2186
+ readonly code: "NOK";
2187
+ readonly name: "Norwegian Krone";
2188
+ readonly symbol: "kr";
2189
+ readonly decimals: 2;
2190
+ };
2191
+ readonly DKK: {
2192
+ readonly code: "DKK";
2193
+ readonly name: "Danish Krone";
2194
+ readonly symbol: "kr";
2195
+ readonly decimals: 2;
2196
+ };
2197
+ readonly PLN: {
2198
+ readonly code: "PLN";
2199
+ readonly name: "Polish Zloty";
2200
+ readonly symbol: "zł";
2201
+ readonly decimals: 2;
2202
+ };
2203
+ readonly CZK: {
2204
+ readonly code: "CZK";
2205
+ readonly name: "Czech Koruna";
2206
+ readonly symbol: "Kč";
2207
+ readonly decimals: 2;
2208
+ };
2209
+ readonly HUF: {
2210
+ readonly code: "HUF";
2211
+ readonly name: "Hungarian Forint";
2212
+ readonly symbol: "Ft";
2213
+ readonly decimals: 0;
2214
+ };
2215
+ readonly RON: {
2216
+ readonly code: "RON";
2217
+ readonly name: "Romanian Leu";
2218
+ readonly symbol: "lei";
2219
+ readonly decimals: 2;
2220
+ };
2221
+ readonly BGN: {
2222
+ readonly code: "BGN";
2223
+ readonly name: "Bulgarian Lev";
2224
+ readonly symbol: "лв";
2225
+ readonly decimals: 2;
2226
+ };
2227
+ readonly HRK: {
2228
+ readonly code: "HRK";
2229
+ readonly name: "Croatian Kuna";
2230
+ readonly symbol: "kn";
2231
+ readonly decimals: 2;
2232
+ };
2233
+ readonly ISK: {
2234
+ readonly code: "ISK";
2235
+ readonly name: "Icelandic Krona";
2236
+ readonly symbol: "kr";
2237
+ readonly decimals: 0;
2238
+ };
2239
+ readonly RUB: {
2240
+ readonly code: "RUB";
2241
+ readonly name: "Russian Ruble";
2242
+ readonly symbol: "₽";
2243
+ readonly decimals: 2;
2244
+ };
2245
+ readonly UAH: {
2246
+ readonly code: "UAH";
2247
+ readonly name: "Ukrainian Hryvnia";
2248
+ readonly symbol: "₴";
2249
+ readonly decimals: 2;
2250
+ };
2251
+ readonly TRY: {
2252
+ readonly code: "TRY";
2253
+ readonly name: "Turkish Lira";
2254
+ readonly symbol: "₺";
2255
+ readonly decimals: 2;
2256
+ };
2257
+ readonly CAD: {
2258
+ readonly code: "CAD";
2259
+ readonly name: "Canadian Dollar";
2260
+ readonly symbol: "CA$";
2261
+ readonly decimals: 2;
2262
+ };
2263
+ readonly MXN: {
2264
+ readonly code: "MXN";
2265
+ readonly name: "Mexican Peso";
2266
+ readonly symbol: "MX$";
2267
+ readonly decimals: 2;
2268
+ };
2269
+ readonly BRL: {
2270
+ readonly code: "BRL";
2271
+ readonly name: "Brazilian Real";
2272
+ readonly symbol: "R$";
2273
+ readonly decimals: 2;
2274
+ };
2275
+ readonly ARS: {
2276
+ readonly code: "ARS";
2277
+ readonly name: "Argentine Peso";
2278
+ readonly symbol: "AR$";
2279
+ readonly decimals: 2;
2280
+ };
2281
+ readonly CLP: {
2282
+ readonly code: "CLP";
2283
+ readonly name: "Chilean Peso";
2284
+ readonly symbol: "CL$";
2285
+ readonly decimals: 0;
2286
+ };
2287
+ readonly COP: {
2288
+ readonly code: "COP";
2289
+ readonly name: "Colombian Peso";
2290
+ readonly symbol: "COL$";
2291
+ readonly decimals: 0;
2292
+ };
2293
+ readonly PEN: {
2294
+ readonly code: "PEN";
2295
+ readonly name: "Peruvian Sol";
2296
+ readonly symbol: "S/";
2297
+ readonly decimals: 2;
2298
+ };
2299
+ readonly UYU: {
2300
+ readonly code: "UYU";
2301
+ readonly name: "Uruguayan Peso";
2302
+ readonly symbol: "UY$";
2303
+ readonly decimals: 2;
2304
+ };
2305
+ readonly AUD: {
2306
+ readonly code: "AUD";
2307
+ readonly name: "Australian Dollar";
2308
+ readonly symbol: "A$";
2309
+ readonly decimals: 2;
2310
+ };
2311
+ readonly NZD: {
2312
+ readonly code: "NZD";
2313
+ readonly name: "New Zealand Dollar";
2314
+ readonly symbol: "NZ$";
2315
+ readonly decimals: 2;
2316
+ };
2317
+ readonly HKD: {
2318
+ readonly code: "HKD";
2319
+ readonly name: "Hong Kong Dollar";
2320
+ readonly symbol: "HK$";
2321
+ readonly decimals: 2;
2322
+ };
2323
+ readonly SGD: {
2324
+ readonly code: "SGD";
2325
+ readonly name: "Singapore Dollar";
2326
+ readonly symbol: "S$";
2327
+ readonly decimals: 2;
2328
+ };
2329
+ readonly KRW: {
2330
+ readonly code: "KRW";
2331
+ readonly name: "South Korean Won";
2332
+ readonly symbol: "₩";
2333
+ readonly decimals: 0;
2334
+ };
2335
+ readonly INR: {
2336
+ readonly code: "INR";
2337
+ readonly name: "Indian Rupee";
2338
+ readonly symbol: "₹";
2339
+ readonly decimals: 2;
2340
+ };
2341
+ readonly IDR: {
2342
+ readonly code: "IDR";
2343
+ readonly name: "Indonesian Rupiah";
2344
+ readonly symbol: "Rp";
2345
+ readonly decimals: 0;
2346
+ };
2347
+ readonly MYR: {
2348
+ readonly code: "MYR";
2349
+ readonly name: "Malaysian Ringgit";
2350
+ readonly symbol: "RM";
2351
+ readonly decimals: 2;
2352
+ };
2353
+ readonly PHP: {
2354
+ readonly code: "PHP";
2355
+ readonly name: "Philippine Peso";
2356
+ readonly symbol: "₱";
2357
+ readonly decimals: 2;
2358
+ };
2359
+ readonly THB: {
2360
+ readonly code: "THB";
2361
+ readonly name: "Thai Baht";
2362
+ readonly symbol: "฿";
2363
+ readonly decimals: 2;
2364
+ };
2365
+ readonly VND: {
2366
+ readonly code: "VND";
2367
+ readonly name: "Vietnamese Dong";
2368
+ readonly symbol: "₫";
2369
+ readonly decimals: 0;
2370
+ };
2371
+ readonly TWD: {
2372
+ readonly code: "TWD";
2373
+ readonly name: "Taiwan Dollar";
2374
+ readonly symbol: "NT$";
2375
+ readonly decimals: 0;
2376
+ };
2377
+ readonly PKR: {
2378
+ readonly code: "PKR";
2379
+ readonly name: "Pakistani Rupee";
2380
+ readonly symbol: "₨";
2381
+ readonly decimals: 2;
2382
+ };
2383
+ readonly BDT: {
2384
+ readonly code: "BDT";
2385
+ readonly name: "Bangladeshi Taka";
2386
+ readonly symbol: "৳";
2387
+ readonly decimals: 2;
2388
+ };
2389
+ readonly AED: {
2390
+ readonly code: "AED";
2391
+ readonly name: "UAE Dirham";
2392
+ readonly symbol: "د.إ";
2393
+ readonly decimals: 2;
2394
+ };
2395
+ readonly SAR: {
2396
+ readonly code: "SAR";
2397
+ readonly name: "Saudi Riyal";
2398
+ readonly symbol: "﷼";
2399
+ readonly decimals: 2;
2400
+ };
2401
+ readonly ILS: {
2402
+ readonly code: "ILS";
2403
+ readonly name: "Israeli Shekel";
2404
+ readonly symbol: "₪";
2405
+ readonly decimals: 2;
2406
+ };
2407
+ readonly QAR: {
2408
+ readonly code: "QAR";
2409
+ readonly name: "Qatari Riyal";
2410
+ readonly symbol: "﷼";
2411
+ readonly decimals: 2;
2412
+ };
2413
+ readonly KWD: {
2414
+ readonly code: "KWD";
2415
+ readonly name: "Kuwaiti Dinar";
2416
+ readonly symbol: "د.ك";
2417
+ readonly decimals: 3;
2418
+ };
2419
+ readonly BHD: {
2420
+ readonly code: "BHD";
2421
+ readonly name: "Bahraini Dinar";
2422
+ readonly symbol: "د.ب";
2423
+ readonly decimals: 3;
2424
+ };
2425
+ readonly OMR: {
2426
+ readonly code: "OMR";
2427
+ readonly name: "Omani Rial";
2428
+ readonly symbol: "﷼";
2429
+ readonly decimals: 3;
2430
+ };
2431
+ readonly JOD: {
2432
+ readonly code: "JOD";
2433
+ readonly name: "Jordanian Dinar";
2434
+ readonly symbol: "د.ا";
2435
+ readonly decimals: 3;
2436
+ };
2437
+ readonly LBP: {
2438
+ readonly code: "LBP";
2439
+ readonly name: "Lebanese Pound";
2440
+ readonly symbol: "ل.ل";
2441
+ readonly decimals: 0;
2442
+ };
2443
+ readonly ZAR: {
2444
+ readonly code: "ZAR";
2445
+ readonly name: "South African Rand";
2446
+ readonly symbol: "R";
2447
+ readonly decimals: 2;
2448
+ };
2449
+ readonly EGP: {
2450
+ readonly code: "EGP";
2451
+ readonly name: "Egyptian Pound";
2452
+ readonly symbol: "£";
2453
+ readonly decimals: 2;
2454
+ };
2455
+ readonly NGN: {
2456
+ readonly code: "NGN";
2457
+ readonly name: "Nigerian Naira";
2458
+ readonly symbol: "₦";
2459
+ readonly decimals: 2;
2460
+ };
2461
+ readonly KES: {
2462
+ readonly code: "KES";
2463
+ readonly name: "Kenyan Shilling";
2464
+ readonly symbol: "KSh";
2465
+ readonly decimals: 2;
2466
+ };
2467
+ readonly MAD: {
2468
+ readonly code: "MAD";
2469
+ readonly name: "Moroccan Dirham";
2470
+ readonly symbol: "د.م.";
2471
+ readonly decimals: 2;
2472
+ };
2473
+ readonly TND: {
2474
+ readonly code: "TND";
2475
+ readonly name: "Tunisian Dinar";
2476
+ readonly symbol: "د.ت";
2477
+ readonly decimals: 3;
2478
+ };
2479
+ readonly DZD: {
2480
+ readonly code: "DZD";
2481
+ readonly name: "Algerian Dinar";
2482
+ readonly symbol: "د.ج";
2483
+ readonly decimals: 2;
2484
+ };
2485
+ readonly NIS: {
2486
+ readonly code: "NIS";
2487
+ readonly name: "Israeli New Shekel";
2488
+ readonly symbol: "₪";
2489
+ readonly decimals: 2;
2490
+ };
2491
+ };
2492
+ export type CurrencyCode = keyof typeof CURRENCIES;
2493
+ export type CurrencySymbol = (typeof CURRENCIES)[CurrencyCode]["symbol"];
2494
+ export type CurrencyName = (typeof CURRENCIES)[CurrencyCode]["name"];
2495
+ export declare const getCurrency: (code: string) => Currency | undefined;
2496
+ export declare const getAllCurrencies: () => Currency[];
2497
+ export declare const getCurrencySymbol: (code: string) => string;
2498
+ /**
2499
+ * Type guard to check if a string is a valid currency code
2500
+ */
2501
+ export declare const isValidCurrencyCode: (code: string) => code is CurrencyCode;
2502
+ //#endregion
2503
+ //#region src/file-kinds.d.ts
2504
+ /**
2505
+ * What a file looks like to a person, independent of how it is stored.
2506
+ *
2507
+ * One taxonomy for the whole product: the conversation's artifact cards, the
2508
+ * drive's rows, a record's document field and the chat's attachments all
2509
+ * answer "what kind of thing is this" from here. Two mappings used to answer
2510
+ * it separately — `getFileCategory` (MIME, no colour) and `FileTypeIcon`
2511
+ * (extension, colours hard-coded) — and they disagreed.
2512
+ *
2513
+ * `other` and `unknown` are deliberately distinct: `other` is an artifact the
2514
+ * agent produced that fits no other kind, `unknown` is a file nothing could
2515
+ * read. Collapsing them would make a published artifact look like a failure.
2516
+ */
2517
+ export declare const FILE_KINDS: readonly ["web", "presentation", "doc", "spreadsheet", "image", "code", "pdf", "text", "markdown", "archive", "video", "audio", "email", "other", "unknown"];
2518
+ export type FileKind = (typeof FILE_KINDS)[number];
2519
+ /**
2520
+ * The hue each kind wears, as a key into `COLORS` — never a literal.
2521
+ *
2522
+ * Consumers read `COLORS[FILE_KIND_COLORS[kind]]`, so a palette change moves
2523
+ * every surface at once and light/dark is handled by `light-dark()` inside
2524
+ * the palette rather than by anything here.
2525
+ */
2526
+ export declare const FILE_KIND_COLORS: Record<FileKind, ColorId>;
2527
+ /**
2528
+ * Keys mirror `ARTIFACT_KINDS` in `@standards/schema`, which this package cannot
2529
+ * import (schema depends on constants, not the reverse). `@standards/ui` sees
2530
+ * both and asserts at type level that the two never drift.
2531
+ */
2532
+ export declare const ARTIFACT_KIND_FILE_KINDS: {
2533
+ readonly web: "web";
2534
+ readonly presentation: "presentation";
2535
+ readonly document: "doc";
2536
+ readonly spreadsheet: "spreadsheet";
2537
+ readonly image: "image";
2538
+ readonly code: "code";
2539
+ readonly other: "other";
2540
+ };
2541
+ /**
2542
+ * The kind a MIME type belongs to.
2543
+ *
2544
+ * Order is load-bearing: HTML and markdown are read before `text/csv` and the
2545
+ * `text/*` prefix because each has its own renderer; `text/csv` is a
2546
+ * spreadsheet before the `text/*` prefix; `text/*` is text before the code
2547
+ * patterns. Do not reorder these branches.
2548
+ *
2549
+ * One deliberate divergence: `getFileCategory` answered `unknown` for Word
2550
+ * documents (`application/msword`,
2551
+ * `application/vnd.openxmlformats-officedocument.wordprocessingml.document`).
2552
+ * This resolver answers `doc` for both — an improvement, not a reproduction.
2553
+ */
2554
+ export declare function fileKindFromMimeType(rawMimeType: string): FileKind;
2555
+ /** The kind a filename's extension names. No extension answers `unknown`. */
2556
+ export declare function fileKindFromFilename(filename: string): FileKind;
2557
+ /**
2558
+ * The kind of a file as a person sees it: the MIME type decides, and the name's
2559
+ * extension is read only when the MIME type says nothing. A drive row titled
2560
+ * `rapport.pdf` holding a PNG is an image.
2561
+ */
2562
+ export declare function fileKindOf(file: {
2563
+ mimeType?: string | null;
2564
+ name?: string | null;
2565
+ }): FileKind;
2566
+ /** The kind a published artifact wears. An unrecognised string is `unknown`. */
2567
+ export declare function fileKindFromArtifactKind(kind: string): FileKind;
2568
+ //#endregion
2569
+ //#region src/hash.d.ts
2570
+ /** The colour an avatar may take: one element of `AVATAR_COLOR_IDS`. */
2571
+ export type AvatarColorId = (typeof AVATAR_COLOR_IDS)[number];
2572
+ /** FNV-1a (32-bit, unsigned): small, stable, well spread for short strings. */
2573
+ export declare function fnv1a32(value: string): number;
2574
+ /** A stable avatar hue (one of the 10 non-neutral colours) derived from a string, e.g. an object type slug. */
2575
+ export declare function colorIdFromString(value: string): AvatarColorId;
2576
+ //#endregion
2577
+ //#region src/fileSizes.d.ts
2578
+ /**
2579
+ * File size constants in bytes for intuitive file size validation
2580
+ *
2581
+ * @example
2582
+ * ```typescript
2583
+ * import { FILE_SIZE } from "@standards/constants";
2584
+ *
2585
+ * document("avatar", "Avatar")
2586
+ * .maxFileSize(FILE_SIZE.MB_5) // 5 MB
2587
+ * .build();
2588
+ * ```
2589
+ */
2590
+ export declare const BYTES: {
2591
+ /** 1 byte */
2592
+ readonly B_1: 1;
2593
+ /** 10 bytes */
2594
+ readonly B_10: 10;
2595
+ /** 100 bytes */
2596
+ readonly B_100: 100;
2597
+ /** 512 bytes */
2598
+ readonly B_512: 512;
2599
+ };
2600
+ export declare const KILOBYTES: {
2601
+ /** 1 KB (1,024 bytes) */
2602
+ readonly KB_1: 1024;
2603
+ /** 2 KB (2,048 bytes) */
2604
+ readonly KB_2: number;
2605
+ /** 5 KB (5,120 bytes) */
2606
+ readonly KB_5: number;
2607
+ /** 10 KB (10,240 bytes) */
2608
+ readonly KB_10: number;
2609
+ /** 50 KB (51,200 bytes) */
2610
+ readonly KB_50: number;
2611
+ /** 100 KB (102,400 bytes) */
2612
+ readonly KB_100: number;
2613
+ /** 500 KB (512,000 bytes) */
2614
+ readonly KB_500: number;
2615
+ };
2616
+ export declare const MEGABYTES: {
2617
+ /** 1 MB (1,048,576 bytes) */
2618
+ readonly MB_1: number;
2619
+ /** 2 MB (2,097,152 bytes) */
2620
+ readonly MB_2: number;
2621
+ /** 5 MB (5,242,880 bytes) */
2622
+ readonly MB_5: number;
2623
+ /** 10 MB (10,485,760 bytes) */
2624
+ readonly MB_10: number;
2625
+ /** 20 MB (20,971,520 bytes) */
2626
+ readonly MB_20: number;
2627
+ /** 25 MB (26,214,400 bytes) */
2628
+ readonly MB_25: number;
2629
+ /** 50 MB (52,428,800 bytes) */
2630
+ readonly MB_50: number;
2631
+ /** 100 MB (104,857,600 bytes) */
2632
+ readonly MB_100: number;
2633
+ /** 200 MB (209,715,200 bytes) */
2634
+ readonly MB_200: number;
2635
+ /** 500 MB (524,288,000 bytes) */
2636
+ readonly MB_500: number;
2637
+ };
2638
+ export declare const GIGABYTES: {
2639
+ /** 1 GB (1,073,741,824 bytes) */
2640
+ readonly GB_1: number;
2641
+ /** 2 GB (2,147,483,648 bytes) */
2642
+ readonly GB_2: number;
2643
+ /** 5 GB (5,368,709,120 bytes) */
2644
+ readonly GB_5: number;
2645
+ /** 10 GB (10,737,418,240 bytes) */
2646
+ readonly GB_10: number;
2647
+ };
2648
+ /**
2649
+ * All file size constants
2650
+ *
2651
+ * @example
2652
+ * ```typescript
2653
+ * import { FILE_SIZE } from "@standards/constants";
2654
+ *
2655
+ * // Small images
2656
+ * avatar.maxSize(FILE_SIZE.MB_2);
2657
+ *
2658
+ * // Documents
2659
+ * document.maxSize(FILE_SIZE.MB_10);
2660
+ *
2661
+ * // Large media files
2662
+ * video.maxSize(FILE_SIZE.GB_1);
2663
+ * ```
2664
+ */
2665
+ export declare const FILE_SIZE: {
2666
+ /** 1 GB (1,073,741,824 bytes) */
2667
+ readonly GB_1: number;
2668
+ /** 2 GB (2,147,483,648 bytes) */
2669
+ readonly GB_2: number;
2670
+ /** 5 GB (5,368,709,120 bytes) */
2671
+ readonly GB_5: number;
2672
+ /** 10 GB (10,737,418,240 bytes) */
2673
+ readonly GB_10: number;
2674
+ /** 1 MB (1,048,576 bytes) */
2675
+ readonly MB_1: number;
2676
+ /** 2 MB (2,097,152 bytes) */
2677
+ readonly MB_2: number;
2678
+ /** 5 MB (5,242,880 bytes) */
2679
+ readonly MB_5: number;
2680
+ /** 10 MB (10,485,760 bytes) */
2681
+ readonly MB_10: number;
2682
+ /** 20 MB (20,971,520 bytes) */
2683
+ readonly MB_20: number;
2684
+ /** 25 MB (26,214,400 bytes) */
2685
+ readonly MB_25: number;
2686
+ /** 50 MB (52,428,800 bytes) */
2687
+ readonly MB_50: number;
2688
+ /** 100 MB (104,857,600 bytes) */
2689
+ readonly MB_100: number;
2690
+ /** 200 MB (209,715,200 bytes) */
2691
+ readonly MB_200: number;
2692
+ /** 500 MB (524,288,000 bytes) */
2693
+ readonly MB_500: number;
2694
+ /** 1 KB (1,024 bytes) */
2695
+ readonly KB_1: 1024;
2696
+ /** 2 KB (2,048 bytes) */
2697
+ readonly KB_2: number;
2698
+ /** 5 KB (5,120 bytes) */
2699
+ readonly KB_5: number;
2700
+ /** 10 KB (10,240 bytes) */
2701
+ readonly KB_10: number;
2702
+ /** 50 KB (51,200 bytes) */
2703
+ readonly KB_50: number;
2704
+ /** 100 KB (102,400 bytes) */
2705
+ readonly KB_100: number;
2706
+ /** 500 KB (512,000 bytes) */
2707
+ readonly KB_500: number;
2708
+ /** 1 byte */
2709
+ readonly B_1: 1;
2710
+ /** 10 bytes */
2711
+ readonly B_10: 10;
2712
+ /** 100 bytes */
2713
+ readonly B_100: 100;
2714
+ /** 512 bytes */
2715
+ readonly B_512: 512;
2716
+ };
2717
+ /**
2718
+ * Recommended max sizes for common file types
2719
+ */
2720
+ export declare const RECOMMENDED_MAX_SIZES: {
2721
+ /** Avatar/Profile pictures: 2 MB */
2722
+ readonly AVATAR: number;
2723
+ /** General images: 5 MB */
2724
+ readonly IMAGE: number;
2725
+ /** Documents (PDF, Word, etc.): 10 MB */
2726
+ readonly DOCUMENT: number;
2727
+ /** Presentations: 25 MB */
2728
+ readonly PRESENTATION: number;
2729
+ /** Audio files: 50 MB */
2730
+ readonly AUDIO: number;
2731
+ /** Video files: 500 MB */
2732
+ readonly VIDEO: number;
2733
+ /** Large archives: 1 GB */
2734
+ readonly ARCHIVE: number;
2735
+ };
2736
+ /**
2737
+ * Convert megabytes to bytes
2738
+ *
2739
+ * @example
2740
+ * ```typescript
2741
+ * mbToBytes(5) // 5242880 (5 MB in bytes)
2742
+ * ```
2743
+ */
2744
+ export declare const mbToBytes: (mb: number) => number;
2745
+ /**
2746
+ * Convert gigabytes to bytes
2747
+ *
2748
+ * @example
2749
+ * ```typescript
2750
+ * gbToBytes(1) // 1073741824 (1 GB in bytes)
2751
+ * ```
2752
+ */
2753
+ export declare const gbToBytes: (gb: number) => number;
2754
+ /**
2755
+ * Convert bytes to megabytes
2756
+ *
2757
+ * @example
2758
+ * ```typescript
2759
+ * bytesToMb(5242880) // 5
2760
+ * ```
2761
+ */
2762
+ export declare const bytesToMb: (bytes: number) => number;
2763
+ /**
2764
+ * Convert bytes to gigabytes
2765
+ *
2766
+ * @example
2767
+ * ```typescript
2768
+ * bytesToGb(1073741824) // 1
2769
+ * ```
2770
+ */
2771
+ export declare const bytesToGb: (bytes: number) => number;
2772
+ /**
2773
+ * Check if file size is within limit
2774
+ *
2775
+ * @example
2776
+ * ```typescript
2777
+ * isWithinSizeLimit(1048576, FILE_SIZE.MB_5) // true
2778
+ * isWithinSizeLimit(6291456, FILE_SIZE.MB_5) // false
2779
+ * ```
2780
+ */
2781
+ export declare const isWithinSizeLimit: (bytes: number, maxBytes: number) => boolean;
2782
+ //#endregion
2783
+ //#region src/memories.d.ts
2784
+ /**
2785
+ * Maximum length of a memory `name`. Memory names double as the identifier
2786
+ * in a `memory:<name>` reference, so they stay short and slug-like.
2787
+ */
2788
+ export declare const MEMORY_NAME_MAX_LENGTH = 100;
2789
+ /**
2790
+ * Maximum length of a memory `description`. Descriptions are the always-in-
2791
+ * context index line advertised in the agent system prompt, so they are
2792
+ * bounded to keep the whole memories block within a fixed ceiling.
2793
+ */
2794
+ export declare const MEMORY_DESCRIPTION_MAX_LENGTH = 160;
2795
+ //#endregion
2796
+ //#region src/mimeTypes.d.ts
2797
+ /**
2798
+ * Common MIME types for file validation
2799
+ * @see https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types
2800
+ */
2801
+ export declare const IMAGE_MIME_TYPES: {
2802
+ readonly JPEG: "image/jpeg";
2803
+ readonly PNG: "image/png";
2804
+ readonly GIF: "image/gif";
2805
+ readonly WEBP: "image/webp";
2806
+ readonly SVG: "image/svg+xml";
2807
+ readonly BMP: "image/bmp";
2808
+ readonly TIFF: "image/tiff";
2809
+ readonly ICO: "image/x-icon";
2810
+ readonly HEIC: "image/heic";
2811
+ readonly HEIF: "image/heif";
2812
+ };
2813
+ export declare const IMAGE_MIME_TYPES_ARRAY: ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif")[];
2814
+ /**
2815
+ * The images served INLINE to a browser, from a storage origin every tenant
2816
+ * shares: a profile avatar, a record's image, a meeting bot's picture. Raster
2817
+ * formats a browser paints and cannot run, checked against the type the
2818
+ * BYTES are.
2819
+ *
2820
+ * SVG is deliberately absent. It is admitted to the Drive allowlist only under
2821
+ * the obligation that its signed URL forces a download — and an image that
2822
+ * downloads is no avatar and no record image.
2823
+ */
2824
+ export declare const INLINE_IMAGE_MIME_TYPES: readonly string[];
2825
+ /** {@link INLINE_IMAGE_MIME_TYPES} as a file input's `accept`. */
2826
+ export declare const INLINE_IMAGE_ACCEPT: string;
2827
+ export declare const DOCUMENT_MIME_TYPES: {
2828
+ readonly PDF: "application/pdf";
2829
+ readonly DOC: "application/msword";
2830
+ readonly DOCX: "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
2831
+ readonly XLS: "application/vnd.ms-excel";
2832
+ readonly XLSX: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
2833
+ readonly PPT: "application/vnd.ms-powerpoint";
2834
+ readonly PPTX: "application/vnd.openxmlformats-officedocument.presentationml.presentation";
2835
+ readonly ODT: "application/vnd.oasis.opendocument.text";
2836
+ readonly ODS: "application/vnd.oasis.opendocument.spreadsheet";
2837
+ readonly ODP: "application/vnd.oasis.opendocument.presentation";
2838
+ readonly RTF: "application/rtf";
2839
+ readonly TXT: "text/plain";
2840
+ readonly CSV: "text/csv";
2841
+ readonly MARKDOWN: "text/markdown";
2842
+ };
2843
+ export declare const DOCUMENT_MIME_TYPES_ARRAY: ("application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.text" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.presentation" | "application/rtf" | "text/plain" | "text/csv" | "text/markdown")[];
2844
+ export declare const ARCHIVE_MIME_TYPES: {
2845
+ readonly ZIP: "application/zip";
2846
+ readonly RAR: "application/vnd.rar";
2847
+ readonly TAR: "application/x-tar";
2848
+ readonly GZIP: "application/gzip";
2849
+ readonly "7Z": "application/x-7z-compressed";
2850
+ readonly BZ2: "application/x-bzip2";
2851
+ };
2852
+ export declare const ARCHIVE_MIME_TYPES_ARRAY: ("application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/x-bzip2")[];
2853
+ export declare const AUDIO_MIME_TYPES: {
2854
+ readonly MP3: "audio/mpeg";
2855
+ readonly WAV: "audio/wav";
2856
+ readonly OGG: "audio/ogg";
2857
+ readonly AAC: "audio/aac";
2858
+ readonly FLAC: "audio/flac";
2859
+ readonly M4A: "audio/mp4";
2860
+ readonly WEBM: "audio/webm";
2861
+ };
2862
+ export declare const AUDIO_MIME_TYPES_ARRAY: ("audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm")[];
2863
+ export declare const VIDEO_MIME_TYPES: {
2864
+ readonly MP4: "video/mp4";
2865
+ readonly WEBM: "video/webm";
2866
+ readonly OGG: "video/ogg";
2867
+ readonly AVI: "video/x-msvideo";
2868
+ readonly MOV: "video/quicktime";
2869
+ readonly MKV: "video/x-matroska";
2870
+ readonly FLV: "video/x-flv";
2871
+ readonly WMV: "video/x-ms-wmv";
2872
+ readonly MPEG: "video/mpeg";
2873
+ };
2874
+ export declare const VIDEO_MIME_TYPES_ARRAY: ("video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg")[];
2875
+ export declare const CODE_MIME_TYPES: {
2876
+ readonly JAVASCRIPT: "text/javascript";
2877
+ /**
2878
+ * The pre-WHATWG spelling, still what some browsers and platforms report for
2879
+ * a `.js` file. Accepting only the canonical one rejects the same file
2880
+ * depending on the machine it is picked from (#3169).
2881
+ */
2882
+ readonly JAVASCRIPT_LEGACY: "application/javascript";
2883
+ readonly TYPESCRIPT: "text/typescript";
2884
+ readonly JSON: "application/json";
2885
+ readonly XML: "application/xml";
2886
+ readonly HTML: "text/html";
2887
+ readonly CSS: "text/css";
2888
+ readonly PYTHON: "text/x-python";
2889
+ readonly JAVA: "text/x-java-source";
2890
+ readonly C: "text/x-c";
2891
+ readonly CPP: "text/x-c++";
2892
+ readonly YAML: "application/x-yaml";
2893
+ readonly SQL: "application/sql";
2894
+ };
2895
+ export declare const CODE_MIME_TYPES_ARRAY: ("text/javascript" | "application/javascript" | "text/typescript" | "application/json" | "application/xml" | "text/html" | "text/css" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "application/x-yaml" | "application/sql")[];
2896
+ export declare const EMAIL_MIME_TYPES: {
2897
+ /** Outlook message (`.msg`), a Compound File Binary container. */
2898
+ readonly OUTLOOK: "application/vnd.ms-outlook";
2899
+ /** RFC 822 message (`.eml`). */
2900
+ readonly EML: "message/rfc822";
2901
+ };
2902
+ export declare const EMAIL_MIME_TYPES_ARRAY: ("application/vnd.ms-outlook" | "message/rfc822")[];
2903
+ export declare const FONT_MIME_TYPES: {
2904
+ readonly TTF: "font/ttf";
2905
+ readonly OTF: "font/otf";
2906
+ readonly WOFF: "font/woff";
2907
+ readonly WOFF2: "font/woff2";
2908
+ readonly EOT: "application/vnd.ms-fontobject";
2909
+ };
2910
+ export declare const FONT_MIME_TYPES_ARRAY: ("font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject")[];
2911
+ /**
2912
+ * All image MIME types
2913
+ */
2914
+ export declare const IMAGES: ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif")[];
2915
+ /**
2916
+ * All document MIME types
2917
+ */
2918
+ export declare const DOCUMENTS: ("application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.text" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.presentation" | "application/rtf" | "text/plain" | "text/csv" | "text/markdown")[];
2919
+ /**
2920
+ * All archive MIME types
2921
+ */
2922
+ export declare const ARCHIVES: ("application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/x-bzip2")[];
2923
+ /**
2924
+ * All audio MIME types
2925
+ */
2926
+ export declare const AUDIO: ("audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm")[];
2927
+ /**
2928
+ * All video MIME types
2929
+ */
2930
+ export declare const VIDEO: ("video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg")[];
2931
+ /**
2932
+ * All code MIME types
2933
+ */
2934
+ export declare const CODE: ("text/javascript" | "application/javascript" | "text/typescript" | "application/json" | "application/xml" | "text/html" | "text/css" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "application/x-yaml" | "application/sql")[];
2935
+ /**
2936
+ * All font MIME types
2937
+ */
2938
+ export declare const FONTS: ("font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject")[];
2939
+ /**
2940
+ * All email message MIME types
2941
+ */
2942
+ export declare const EMAILS: ("application/vnd.ms-outlook" | "message/rfc822")[];
2943
+ /**
2944
+ * Common web-safe image formats (JPEG, PNG, GIF, WebP)
2945
+ */
2946
+ export declare const WEB_IMAGES: readonly ["image/jpeg", "image/png", "image/gif", "image/webp"];
2947
+ /**
2948
+ * Common office document formats (PDF, Word, Excel, PowerPoint)
2949
+ */
2950
+ export declare const OFFICE_DOCUMENTS: readonly ["application/pdf", "application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation"];
2951
+ /**
2952
+ * Media files (images, audio, video)
2953
+ */
2954
+ export declare const MEDIA: readonly ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif" | "audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg")[];
2955
+ /**
2956
+ * All MIME types combined
2957
+ */
2958
+ export declare const ALL_MIME_TYPES: readonly ("image/jpeg" | "image/png" | "image/gif" | "image/webp" | "image/svg+xml" | "image/bmp" | "image/tiff" | "image/x-icon" | "image/heic" | "image/heif" | "application/pdf" | "application/msword" | "application/vnd.openxmlformats-officedocument.wordprocessingml.document" | "application/vnd.ms-excel" | "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" | "application/vnd.ms-powerpoint" | "application/vnd.openxmlformats-officedocument.presentationml.presentation" | "application/vnd.oasis.opendocument.text" | "application/vnd.oasis.opendocument.spreadsheet" | "application/vnd.oasis.opendocument.presentation" | "application/rtf" | "text/plain" | "text/csv" | "text/markdown" | "text/javascript" | "application/javascript" | "text/typescript" | "application/json" | "application/xml" | "text/html" | "text/css" | "text/x-python" | "text/x-java-source" | "text/x-c" | "text/x-c++" | "application/x-yaml" | "application/sql" | "application/zip" | "application/vnd.rar" | "application/x-tar" | "application/gzip" | "application/x-7z-compressed" | "application/x-bzip2" | "audio/mpeg" | "audio/wav" | "audio/ogg" | "audio/aac" | "audio/flac" | "audio/mp4" | "audio/webm" | "video/mp4" | "video/webm" | "video/ogg" | "video/x-msvideo" | "video/quicktime" | "video/x-matroska" | "video/x-flv" | "video/x-ms-wmv" | "video/mpeg" | "application/vnd.ms-outlook" | "message/rfc822" | "font/ttf" | "font/otf" | "font/woff" | "font/woff2" | "application/vnd.ms-fontobject")[];
2959
+ /**
2960
+ * Union type of all valid MIME types
2961
+ */
2962
+ export type MimeType = (typeof ALL_MIME_TYPES)[number];
2963
+ /**
2964
+ * Union type of all image MIME types
2965
+ */
2966
+ export type ImageMimeType = (typeof IMAGE_MIME_TYPES_ARRAY)[number];
2967
+ /**
2968
+ * Union type of all document MIME types
2969
+ */
2970
+ export type DocumentMimeType = (typeof DOCUMENT_MIME_TYPES_ARRAY)[number];
2971
+ /**
2972
+ * Union type of all archive MIME types
2973
+ */
2974
+ export type ArchiveMimeType = (typeof ARCHIVE_MIME_TYPES_ARRAY)[number];
2975
+ /**
2976
+ * Union type of all audio MIME types
2977
+ */
2978
+ export type AudioMimeType = (typeof AUDIO_MIME_TYPES_ARRAY)[number];
2979
+ /**
2980
+ * Union type of all video MIME types
2981
+ */
2982
+ export type VideoMimeType = (typeof VIDEO_MIME_TYPES_ARRAY)[number];
2983
+ /**
2984
+ * Union type of all code MIME types
2985
+ */
2986
+ export type CodeMimeType = (typeof CODE_MIME_TYPES_ARRAY)[number];
2987
+ /**
2988
+ * Union type of all font MIME types
2989
+ */
2990
+ export type FontMimeType = (typeof FONT_MIME_TYPES_ARRAY)[number];
2991
+ /**
2992
+ * Union type of all email message MIME types
2993
+ */
2994
+ export type EmailMimeType = (typeof EMAIL_MIME_TYPES_ARRAY)[number];
2995
+ /**
2996
+ * Check if a MIME type is an image
2997
+ */
2998
+ export declare const isImageMimeType: (mimeType: string) => boolean;
2999
+ /**
3000
+ * Check if a MIME type is a document
3001
+ */
3002
+ export declare const isDocumentMimeType: (mimeType: string) => boolean;
3003
+ /**
3004
+ * Check if a MIME type is an archive
3005
+ */
3006
+ export declare const isArchiveMimeType: (mimeType: string) => boolean;
3007
+ /**
3008
+ * Check if a MIME type is audio
3009
+ */
3010
+ export declare const isAudioMimeType: (mimeType: string) => boolean;
3011
+ /**
3012
+ * Check if a MIME type is video
3013
+ */
3014
+ export declare const isVideoMimeType: (mimeType: string) => boolean;
3015
+ /**
3016
+ * Check if a MIME type is code
3017
+ */
3018
+ export declare const isCodeMimeType: (mimeType: string) => boolean;
3019
+ /**
3020
+ * Check if a MIME type is an email message
3021
+ */
3022
+ export declare const isEmailMimeType: (mimeType: string) => boolean;
3023
+ //#endregion
3024
+ //#region src/record-mentions.d.ts
3025
+ /**
3026
+ * The scheme a record mention's markdown link carries (#3413).
3027
+ *
3028
+ * A mention is stored as an ordinary markdown link — `[@Acme](stndrds:record/…)`
3029
+ * — rather than a directive of its own. Richtext is a markdown STRING passed
3030
+ * through every renderer we have, and a link is the one construct all of them
3031
+ * already carry: a reader that knows nothing about mentions still shows the
3032
+ * name instead of a fragment of syntax.
3033
+ *
3034
+ * Lives here, not in the editor, because the runtime reads the same links out
3035
+ * of an agent's prompt (rev 10) and must not depend on an editor package.
3036
+ */
3037
+ export declare const RECORD_MENTION_SCHEME = "stndrds:record/";
3038
+ /** A record named by a mention link. */
3039
+ export interface RecordMentionTarget {
3040
+ objectName: string;
3041
+ recordId: string;
3042
+ }
3043
+ /** A record mention found in markdown: its target and the label it was written with. */
3044
+ export interface RecordMention extends RecordMentionTarget {
3045
+ label: string;
3046
+ }
3047
+ /** The href a mention of this record serializes to. */
3048
+ export declare function recordMentionHref(objectName: string, recordId: string): string;
3049
+ /**
3050
+ * Read a mention href back. Returns `null` for every other link — an ordinary
3051
+ * `https://` link in a note stays a link, and a `javascript:` one is never a
3052
+ * mention, so nothing here can turn a foreign URL into a node that opens it.
3053
+ */
3054
+ export declare function parseRecordMentionHref(href: string): RecordMentionTarget | null;
3055
+ /** A mention link at the start of the input — the editor's inline tokenizer. */
3056
+ export declare const RECORD_MENTION_LINK: RegExp;
3057
+ /**
3058
+ * Every record mention in a markdown string, in reading order, once per
3059
+ * record: a record named twice is one subject. A link whose href is not one of
3060
+ * ours, or is malformed, is skipped like any other link.
3061
+ */
3062
+ export declare function extractRecordMentions(markdown: string): RecordMention[];
3063
+ //#endregion
3064
+ //#region src/skills.d.ts
3065
+ /**
3066
+ * Maximum length of a skill `name`. Skill names double as the identifier in a
3067
+ * `skill:<name>` reference, so they stay short and slug-like.
3068
+ */
3069
+ export declare const SKILL_NAME_MAX_LENGTH = 100;
3070
+ /**
3071
+ * Maximum length of a skill `description`. Descriptions are advertised verbatim
3072
+ * in the agent system prompt, so they are bounded to keep the per-skill bullet
3073
+ * (and therefore the whole skills block) within a fixed ceiling.
3074
+ */
3075
+ export declare const SKILL_DESCRIPTION_MAX_LENGTH = 160;
3076
+ //#endregion
3077
+ //#region src/tenant.d.ts
3078
+ /** The shared single-tenant / master-tenant UUID used across web and api wiring. */
3079
+ export declare const DEFAULT_TENANT_ID = "00000000-0000-0000-0000-000000000000";
3080
+ //#endregion
3081
+ //#region src/text-format-presets.d.ts
3082
+ export type FormatPresetGroup = "communication" | "identifiants" | "business_fr" | "design";
3083
+ export type FormatPreset = {
3084
+ /** Stable identifier — referenced in tests and selection logic. */
3085
+ id: string;
3086
+ label: string;
3087
+ icon: IconName;
3088
+ group: FormatPresetGroup;
3089
+ storage: {
3090
+ kind: "format";
3091
+ value: "email" | "url" | "slug";
3092
+ } | {
3093
+ kind: "pattern";
3094
+ regex: string;
3095
+ };
3096
+ };
3097
+ export declare const TEXT_FORMAT_PRESETS: readonly FormatPreset[];
3098
+ //#endregion