import { ComponentType } from "preact"; import { SlangLocale } from "../utils/slangLocale"; import { SlangHintStyle, SlangSurfaceStyles, SlangTriggerStyle, SlangUIPositions, SlangUITheme } from "../utils/uiEnums"; import { OnboardingOptions } from "./slangOnboardingOptions"; export interface SlangBuiltInUI { SlangUIPosition: typeof SlangUIPositions; SlangUIMode: typeof SlangUITheme; SlangSurfaceUIHintMode: typeof SlangHintStyle; SlangSurfaceStyle: typeof SlangSurfaceStyles; SlangTriggerStyle: typeof SlangTriggerStyle; setImageResource: (imageRes: string) => void; setTriggerSize: (width: number, height: number) => void; setBackgroundColor: (color: string) => void; setBackgroundColorGradient: (colors: Array) => void; getPosition: () => Array; setPosition: (position: SlangUIPositions, offsetX?: number, offsetY?: number, force?: boolean) => void; setIsDraggable: (isDraggable: boolean) => void; disableOnboarding: () => void; setOnboardingOptions: (onboardingOptions: OnboardingOptions) => void; show: () => void; hide: () => void; isVisible: () => boolean; setTypeface: (typeface: string) => void; setTextColor: (color: string) => void; setSecondaryTextColor: (color: string) => void; setUIMode: (mode: SlangUITheme) => void; setUIHints: (uiHints: { [locale in SlangLocale]?: string[]; } | null) => void; setDisambiguationHints: (disambiguationHints: string[] | null | undefined) => void; setRootElement: (el: HTMLElement) => void; setSurface: (surfaceStyle: SlangSurfaceStyles) => void; setSurfaceHintMode: (surfaceHintMode: SlangHintStyle) => void; getSurfaceHintMode: () => SlangHintStyle; enableCustomTrigger: (isEnabled: boolean) => void; setBrandColor: (color: string) => void; setTrigger: (triggerStyle: SlangTriggerStyle) => void; getTriggerComponent: () => ComponentType; setTriggerTitle: (flatTriggerTitle: { [locale in SlangLocale]?: string; }) => void; }