/** * @file runtime 运行时(React Native 版本) * @author Auto Generated * @description 支持 IconPark 官方属性,适用于 React Native */ import { ReactElement } from "react"; import type { StyleProp } from "react-native"; export type StrokeLinejoin = "miter" | "round" | "bevel"; export type StrokeLinecap = "butt" | "round" | "square"; export type Theme = "outline" | "filled" | "two-tone" | "multi-color"; export interface ISvgIconProps { id: string; size: number | string; strokeWidth: number; strokeLinecap: StrokeLinecap; strokeLinejoin: StrokeLinejoin; colors: string[]; xml: string; } export interface IIconConfig { size: number | string; strokeWidth: number; strokeLinecap: StrokeLinecap; strokeLinejoin: StrokeLinejoin; prefix: string; rtl: boolean; spin: boolean; theme: Theme; colors: { outline: { fill: string; background: string; }; filled: { fill: string; background: string; }; twoTone: { fill: string; twoTone: string; }; multiColor: { outStrokeColor: string; outFillColor: string; innerStrokeColor: string; innerFillColor: string; }; }; } export interface IIconBase { size?: number | string; strokeWidth?: number; strokeLinecap?: StrokeLinecap; strokeLinejoin?: StrokeLinejoin; theme?: Theme; fill?: string | string[]; rtl?: boolean; style?: StyleProp; spin?: boolean; } export type IIconProps = IIconBase & { xml?: string; }; export type IconRender = (props: ISvgIconProps) => ReactElement; export type Icon = (props: IIconProps) => ReactElement; export { DEFAULT_ICON_CONFIGS } from "./defaultConfig"; export declare function IconConverter(id: string, icon: IIconBase & { xml?: string; }, config: IIconConfig): ISvgIconProps; export declare function IconWrapper(name: string, render: IconRender, defaultXml?: string, rtl?: boolean): Icon;