import { SVGProps } from "react"; import { VariantNames } from "./variantNames.js"; interface SvgProps extends SVGProps { title?: string | undefined; } type SvgComponent = React.FC; type VariantDefinitions = { [V in VariantNames]?: SvgComponent; }; interface IconOptions { /** * Which dimension is used to determine the icon size? The other dimension will be set to "auto". * @default "height" */ fit: "width" | "height"; /** * Actual icon size will be scaled by this number. By default we use 1/3 of the largest dimension as whitespace * @default 2/3 */ scale: number; } type IconSpecifications = { [K in T]: VariantDefinitions & { options?: Partial; }; }; type IconVariantsAndOptions = { [K in T]: { variants: VariantDefinitions; options: IconOptions; }; }; export declare function defineIcons(icons: IconSpecifications): IconVariantsAndOptions; export declare const icons: IconVariantsAndOptions<"clear" | "error" | "warning" | "success" | "info" | "code" | "menu" | "search" | "coffee" | "help" | "favorite" | "favorite_border" | "star" | "star_outline" | "sentiment_dissatisfied" | "sentiment_neutral" | "sentiment_satisfied" | "sentiment_very_dissatisfied" | "sentiment_very_satisfied" | "event_note" | "live_tv" | "wifi" | "arrow_backward" | "arrow_downward" | "arrow_forward" | "arrow_upward" | "check" | "chevron_left" | "chevron_right" | "close" | "expand_less" | "expand_more" | "external" | "more_horizontal" | "more_vertical" | "open" | "refresh" | "spinner" | "unfold_less" | "unfold_more" | "ev_station" | "forest" | "gas_station" | "location" | "route" | "file_download" | "file_upload" | "task" | "add" | "backspace" | "mail" | "remove" | "send" | "call" | "chat" | "assignment" | "bolt" | "build" | "calculate" | "calendar" | "car" | "car_crash" | "contract" | "edit" | "explore" | "glass_damage" | "home" | "lightbulb" | "login" | "logout" | "payment" | "pets" | "play_circle" | "savings" | "schedule" | "settings" | "shopping_cart" | "speed" | "tire" | "trash" | "verified" | "visibility_off" | "visibility_on">; type Icons = typeof icons; /** * Apps using this library can use declaration merging to add app-specific icons to the allowed icon list. */ export interface ExtraIcons { } interface IconDef { variants: VariantDefinitions; options: IconOptions; } export type IconSet = Record; export type AllIcons = Icons & ExtraIcons; export type StringKeys = Extract; export type AllowedIcons = StringKeys; export {}; //# sourceMappingURL=icons.d.ts.map