/** * @flow strict */ import { PureComponent } from 'react'; export type Color = number | string; export type IconButtonProps = { backgroundColor?: Color, borderRadius?: number, color?: Color, name: Glyphs, size?: number, }; declare class IconButton extends PureComponent< IconButtonProps > {} export type IconProps = { allowFontScaling?: boolean, color?: Color, name: Glyphs, size?: number, }; export type ImageSource = {| uri: string, scale: number, |}; declare class Icon extends PureComponent> { static Button: Class>; static getFontFamily(): string; static getImageSource( name: Glyphs, size?: number, color?: Color ): Promise; static getImageSourceSync( name: Glyphs, size?: number, color?: Color ): ImageSource; static getRawGlyphMap(): { [name: Glyphs]: number }; static hasIcon(name: string): boolean; static loadFont(file?: string): Promise; } export type { Icon }; declare export function createIconSet( glyphMap: GlyphMap, fontFamily: string, fontFile?: string ): Class>>; export type FontelloConfig = { glyphs: Array<{ css: string, code: number, }>, }; declare export function createIconSetFromFontello( config: FontelloConfig, fontFamily?: string, fontFile?: string ): Class>; export type IcoMoonConfig = { icons: Array<{ properties: { name: string, code: number }, }>, }; declare export function createIconSetFromIcoMoon( config: IcoMoonConfig, fontFamily?: string, fontFile?: string ): Class>;