import React from 'react'; import { FontStyleTypeModel } from '../../Themes/theme_types'; import { Size, Color } from '../../types'; type availableColors = Color.green | Color.dark | Color.blue; export interface ImgPlaceholderOptions { isInverse: boolean; } export interface EmptyStateContainerOptions { state: StateContextOptions; styles: styledMapScheme; } export interface EmptyStateOptions { size: Size.m | Size.l; color: availableColors; title: string; description: string; className?: string; isInverse?: boolean; isVertical?: boolean; actions?: Action[]; links?: Link[]; imgSrc?: string; textTemplate?: () => React.ReactElement; actionsTemplate?: () => React.ReactElement; linksTemplate?: () => React.ReactElement; } interface Link { text: string; href: string; } interface Action { text: string; icon?: string; onClick: () => void; } export interface StateContextOptions { size: Size.m | Size.l; color: availableColors; isVertical: boolean; dayTime: 'light' | 'dark'; } export interface styledMapScheme { style: { light: styleInstance; dark: styleInstance; }; size: { m: sizeInstance; l: sizeInstance; }; } interface styleInstance { titleColor: string; descriptionColor: string; } interface sizeInstance { wrap: { gap: number; }; img: { width: number; height: number; }; title: { font: FontStyleTypeModel; }; description: { font: FontStyleTypeModel; }; content: { margingBottom: number; }; actions: { margingBottom: number; }; } export {};