import type { AppStateInstructions } from './common'; import type { DeepPartial, RequireSome } from '../../../ui-common/src/types/common'; import type { CSSProperties } from 'styled-components'; export type AutoCaptureTheme = { colors: { instructionColor: string; instructionColorSuccess: string; instructionTextColor: string; placeholderColor: string; placeholderColorSuccess: string; }; font: { family: CSSProperties['fontFamily']; minimumSize: number; style: CSSProperties['fontStyle']; weight: CSSProperties['fontWeight']; }; }; export type ButtonControlsConfiguration = { showCameraButtons?: boolean; }; export type DetectionLayerControlsConfiguration = { showDetectionLayer?: boolean; }; export type UiControlsConfiguration = ButtonControlsConfiguration & DetectionLayerControlsConfiguration; type StylingConfiguration = { backdropColor?: string; theme?: DeepPartial; }; type InstructionsConfiguration = { appStateInstructions?: TAppStateInstructions; instructions?: Partial; }; export type PlaceholderConfiguration = { placeholder?: TPlaceholder; }; export type BaseUiConfiguration = InstructionsConfiguration & { control?: TControls; styleTarget?: HTMLElement; styling?: StylingConfiguration; }; export type InitializedButtonControlsConfiguration = Required; export type InitializedDetectionLayerControlsConfiguration = Required; export type InitializedUiControlsConfiguration = InitializedButtonControlsConfiguration & InitializedDetectionLayerControlsConfiguration; export type InitializedUiStylingConfiguration = RequireSome & { theme: AutoCaptureTheme; }; export type InitializedUiInstructionsConfiguration = { appStateInstructions: TAppStateInstructions; instructions: TInstructions; }; export type InitializedPlaceholderConfiguration = { placeholder: TPlaceholder; }; export type InitializedBaseUiConfiguration = InitializedUiInstructionsConfiguration & { control: TControls; styleTarget?: HTMLElement; styling: InitializedUiStylingConfiguration; }; export {};