/**
 * Copyright 2024 Phenix Real Time Solutions, Inc. Confidential and Proprietary. All Rights Reserved.
 */

import {IColorSystem} from './IColorSystem';
import {IExtendedSpacingSystem} from './ISpacingSystem';
import {ITypographySystem} from './ITypographySystem';
import {IScreenSystem} from './IScreenSystem';
import {IBackgroundSystem} from './IBackgroundSystem';

export interface ITheme {
  readonly colors: IColorSystem;
  readonly spacing: IExtendedSpacingSystem;
  readonly typography: ITypographySystem;
  readonly screenSizes: IScreenSystem;
  readonly backgrounds: IBackgroundSystem;
  readonly footerHeight: string;
  readonly primaryColor: string;
  readonly secondaryColor: string;
  readonly successColor: string;
  readonly infoColor: string;
  readonly warningColor: string;
  readonly dangerColor: string;
  readonly secondaryLight: string;
  readonly secondaryDark: string;
  readonly headerAllowance: number;
  readonly primaryThemeColor: string;
  readonly primaryBackground: string;
  readonly linkColor: string;
  readonly blackWithOpacity: string;
  readonly primaryInputHeight: string;
  readonly formFieldWidth: number;
  readonly formFieldMaxWidth: number;
  readonly formFieldMaxHeight: number;
  readonly inputIconWidth: number;
  readonly primaryBorderColor: string;
  readonly primaryBorderWidth: string;
  readonly primaryBorderRadius: string;
  readonly loaderSize: {
    readonly small: number;
    readonly medium: number;
    readonly large: number;
  };
}
