export declare const iconStyles: readonly ["core-regular", "core-filled"]; export type IconStyle = (typeof iconStyles)[number]; export interface IconMetadata { category?: string; keywords?: string[]; tags?: string[]; version?: string; } export interface IconRecord extends IconMetadata { name: string; componentName: string; style: IconStyle; } export declare const iconElementTags: readonly ["path", "circle", "rect", "line", "polyline", "polygon", "ellipse"]; export type IconElementTag = (typeof iconElementTags)[number]; export interface IconElement { tag: IconElementTag; attributes: Record; } export interface IconGradientStop { offset: string | number; color: string; opacity?: string | number; } export interface IconGradient { id: string; type: 'angular' | 'linear' | 'radial'; attributes: Record; stops: IconGradientStop[]; } export interface IconMask { id: string; attributes: Record; elements: IconElement[]; } export interface IconClipPath { id: string; attributes: Record; elements: IconElement[]; } export interface IconEmbeddedImage { mimeType: 'image/gif' | 'image/jpeg' | 'image/png' | 'image/webp'; data: string; attributes: Record; transform?: string; } export interface IconPattern { id: string; attributes: Record; image: IconEmbeddedImage; } export interface IconDefinition { name: string; componentName: string; style: IconStyle; viewBox: string; elements: IconElement[]; gradients?: IconGradient[]; masks?: IconMask[]; clipPaths?: IconClipPath[]; patterns?: IconPattern[]; metadata: IconMetadata; }