/** * Type interfaces for simple YAML asset configurations * These interfaces define the structure for assets that only require YAML-to-JSON conversion */ export interface ButtonConfig { text?: string; icon?: { name: string; color?: string; }; size?: string; color?: string; inverse?: boolean; model?: string; iconOnly?: boolean; [key: string]: unknown; } export interface CardConfig { title?: string; description?: string; image?: string; icon?: { name: string; color?: string; }; actions?: Array<{ label: string; action: string; type?: string; }>; link?: string; tags?: string[]; priority?: 'low' | 'medium' | 'high'; status?: 'active' | 'inactive' | 'pending'; [key: string]: unknown; } export interface WatermarkConfig { text?: string; image?: string; logoUrl?: string; position?: 'center' | 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right' | 'custom'; alignment?: 'left' | 'center' | 'right'; opacity?: number; size?: 'small' | 'medium' | 'large' | 'custom'; width?: number; height?: number; color?: string; fontFamily?: string; fontSize?: number; fontWeight?: 'normal' | 'bold' | 'lighter' | 'bolder' | number; rotation?: number; margin?: { top?: number; right?: number; bottom?: number; left?: number; }; zIndex?: number; type?: 'text' | 'image' | 'logo'; variant?: 'subtle' | 'prominent' | 'overlay' | 'background'; repeat?: boolean; blend?: 'normal' | 'multiply' | 'overlay' | 'screen' | 'darken' | 'lighten'; responsive?: { mobile?: Partial; tablet?: Partial; desktop?: Partial; }; [key: string]: unknown; } export interface JumbotronConfig { title?: string; subtitle?: string; description?: string; backgroundImage?: string; ctaButtons?: Array<{ label: string; action: string; type?: string; variant?: string; }>; alignment?: 'left' | 'center' | 'right'; size?: 'small' | 'medium' | 'large'; variant?: 'default' | 'hero' | 'banner' | 'promotional'; overlay?: { enabled?: boolean; color?: string; opacity?: number; }; textColor?: string; backgroundColor?: string; [key: string]: unknown; } export interface ModalConfig { title?: string; content?: string; size?: 'sm' | 'md' | 'lg' | 'xl'; variant?: 'default' | 'centered' | 'fullscreen' | 'drawer'; closeButton?: boolean; backdrop?: boolean | 'static'; animation?: 'fade' | 'slide' | 'zoom' | 'none'; position?: 'top' | 'center' | 'bottom'; header?: { title?: string; icon?: string; closeButton?: boolean; }; footer?: { buttons?: Array<{ label: string; action: string; type?: string; variant?: string; }>; alignment?: 'left' | 'center' | 'right'; }; buttons?: Array<{ label: string; action: string; type?: string; variant?: string; }>; overlay?: { enabled?: boolean; color?: string; opacity?: number; }; autoOpen?: boolean; autoClose?: { enabled?: boolean; delay?: number; }; keyboard?: boolean; focus?: boolean; zIndex?: number; className?: string; style?: Record; [key: string]: unknown; } export interface RemoteConfig { url: string; method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH'; headers?: Record; timeout?: number; retries?: number; cache?: boolean; cacheDuration?: number; authentication?: { type: 'basic' | 'bearer' | 'apikey' | 'oauth'; credentials?: Record; }; parameters?: Record; responseType?: 'json' | 'text' | 'blob' | 'stream'; errorHandling?: { retry?: boolean; fallback?: unknown; logErrors?: boolean; }; transform?: { request?: string; response?: string; }; [key: string]: unknown; } export interface CarouselConfig { slides: Array<{ image: string; title?: string; description?: string; link?: string; data?: Record; }>; autoPlay?: boolean; interval?: number; showDots?: boolean; dotsPosition?: 'left' | 'right' | 'top' | 'bottom' | 'center'; componentPosition?: 'left' | 'right' | 'top' | 'bottom' | 'center'; screenSpace?: 'full' | 'half'; division?: 'vertical' | 'horizontal'; [key: string]: unknown; } export interface GraphConfig { dimensions?: { desktop: string; tablet: string; mobile: string; }; [key: string]: unknown; } //# sourceMappingURL=asset-configs.d.ts.map