import { ResourceName } from '@viamrobotics/sdk';
import { Color, type ColorRepresentation, type RGB } from 'three';
/**
 * Darkens a THREE.Color by a given percentage while preserving hue.
 * @param color The original THREE.Color instance.
 * @param percent The percentage to darken (0-100).
 * @returns A new THREE.Color instance with the darkened color.
 */
export declare const darkenColor: (value: ColorRepresentation, percent: number) => Color;
export declare const resourceNameToColor: (resourceName?: ResourceName) => Color | undefined;
export declare const colors: {
    readonly default: string;
};
export declare const resourceColors: {
    readonly arm: string;
    readonly camera: string;
    readonly base: string;
    readonly board: string;
    readonly button: string;
    readonly encoder: string;
    readonly gantry: string;
    readonly gripper: string;
    readonly motor: string;
    readonly movement_sensor: string;
    readonly pose_tracker: string;
    readonly power_sensor: string;
    readonly sensor: string;
    readonly servo: string;
    readonly switch: string;
    readonly webcam: string;
};
export declare const isColorRepresentation: (color: unknown) => color is ColorRepresentation;
export declare const parseColor: (color: unknown, defaultColor?: ColorRepresentation) => Color;
export declare const isRGB: (color: unknown) => color is RGB;
export declare const parseRGB: (color: unknown, defaultColor?: RGB) => Color;
export declare const parseOpacity: (opacity: unknown, defaultOpacity?: number) => number;
export declare const rgbaToHex: (rgba: Uint8Array) => string;
export declare const rgbaBytesToFloat32: (bytes: Uint8Array<ArrayBuffer>) => Float32Array<ArrayBuffer>;
