import { type ComponentProps, type ReactNode } from 'react'; import type { FontSizes } from '../../themes'; import type { IconType } from 'react-icons'; /** * literal union type に補完を効かせるためのハック * https://github.com/microsoft/TypeScript/issues/29729 */ type LiteralUnion = T | (U & Record); export declare const colorSet: { readonly TEXT_BLACK: "black"; readonly TEXT_WHITE: "white"; readonly TEXT_GREY: "grey"; readonly TEXT_DISABLED: "disabled"; readonly TEXT_LINK: "link"; readonly MAIN: "main"; readonly DANGER: "danger"; readonly WARNING: "warning-yellow"; readonly BRAND: "brand"; }; type IconProps = { /** * アイコンの色 * @type string | 'TEXT_BLACK' | 'TEXT_GREY' | 'TEXT_DISABLED' | 'TEXT_LINK' | 'MAIN' | 'DANGER' | 'WARNING' | 'BRAND' */ color?: LiteralUnion; /** * アイコンの大きさ(フォントサイズの抽象値) * @deprecated 親要素やデフォルトフォントサイズが継承されるため固定値の指定は非推奨 */ size?: FontSizes; }; type AbstractProps = { /**アイコンの説明テキスト*/ alt?: ReactNode; }; export type Props = AbstractProps & Omit, keyof IconProps>, keyof AbstractProps>; export declare const generateIcon: (SvgIcon: IconType) => import("react").NamedExoticComponent; export {};