import { LivenessEngine, LivenessCallbacks, LivenessSoundOptions, LivenessStepKey } from "./engine"; export type LivenessTheme = { progressColor?: string; progressErrorColor?: string; progressWidth?: number; progressLineCap?: "round" | "square" | "butt"; overlayColor?: string; overlayErrorColor?: string; }; export type StartLivenessOptions = { container?: HTMLElement; /** If true, render inside `container` instead of taking over the viewport. Container should have explicit width and height. */ embed?: boolean; /** Visible face frame shape. Defaults to "oval". */ shape?: "oval" | "circle"; /** If false, hides SDK-provided instruction text, step dots, position hint, gesture icon and loading text. Sounds still play. Default true. */ showInstructions?: boolean; theme?: LivenessTheme; /** Minimum diameter of the visible shape in CSS pixels (so it stays usable on small screens). Default 220. */ minSize?: number; modelUrl?: string; wasmUrl?: string; callbacks: LivenessCallbacks; sounds?: LivenessSoundOptions; /** Subset of challenges to run, e.g. `["nod", "blink", "mouth"]`. Default: all 5. */ steps?: LivenessStepKey[]; /** Shuffle the selected step order. Default true. */ shuffleSteps?: boolean; }; export declare function startLivenessWithUI(options: StartLivenessOptions): LivenessEngine;