export type ColorHex = string; /** @internal */ export declare function colorDistance(a: ColorHex, b: ColorHex): number; /** @internal */ export declare function concealmentScore(entityColors: readonly ColorHex[], backgroundColors: readonly ColorHex[]): number; export interface ConcealmentTarget { id: string; entityColors: readonly ColorHex[]; backgroundColors: readonly ColorHex[]; } export interface ConcealmentSample { id: string; score: number; concealed: boolean; dwellSeconds: number; } /** Plain JSON state of a {@link ConcealmentSensor}: seconds each target has stayed concealed. */ export interface ConcealmentSensorState { dwell: Record; } export interface ConcealmentSensor { tick(targets: readonly ConcealmentTarget[], dt: number): ConcealmentSample[]; reset(id?: string): void; snapshot(): ConcealmentSensorState; restore(next: ConcealmentSensorState): void; } /** @internal */ export declare function createConcealmentSensor(config?: { threshold?: number; }): ConcealmentSensor;