/** * Icon data structure from Iconify API */ export interface IconData { /** Icon name (e.g., "mdi:home") */ name: string; /** SVG body content */ body: string; /** Icon width */ width: number; /** Icon height */ height: number; /** Left offset */ left?: number; /** Top offset */ top?: number; /** Rotation in degrees */ rotate?: number; /** Horizontal flip */ hFlip?: boolean; /** Vertical flip */ vFlip?: boolean; } /** * Options for fetching icon data */ export interface FetchOptions { /** Request timeout in milliseconds (default: 5000) */ timeout?: number; /** Maximum retry attempts (default: 3) */ maxRetries?: number; /** Abort signal for cancellation */ signal?: AbortSignal; /** Custom API hosts (overrides defaults) */ hosts?: string[]; } /** * Iconify API configuration */ export interface IconifyConfig { /** API hosts in priority order */ hosts: string[]; /** Default timeout for requests */ timeout: number; /** Maximum retries on failure */ maxRetries: number; } /** * Raw icon data from Iconify API response */ export interface IconifyAPIResponse { prefix: string; icons: Record>; aliases?: Record; width?: number; height?: number; left?: number; top?: number; rotate?: number; hFlip?: boolean; vFlip?: boolean; } /** * Error types for API operations */ export declare class IconifyAPIError extends Error { code: 'NETWORK_ERROR' | 'TIMEOUT' | 'INVALID_RESPONSE' | 'NOT_FOUND' | 'PARSE_ERROR'; details?: unknown | undefined; constructor(message: string, code: 'NETWORK_ERROR' | 'TIMEOUT' | 'INVALID_RESPONSE' | 'NOT_FOUND' | 'PARSE_ERROR', details?: unknown | undefined); } //# sourceMappingURL=types.d.ts.map