import type { Pose } from '@viamrobotics/sdk';
import type { Entity } from 'koota';
import type { Vector3Like } from 'three';
import type { Frame } from './frame';
type UpdateFrameCallback = {
    (componentName: string, referenceFrame: string, pose: Pose, geometry?: Frame['geometry']): void;
};
type RemoveFrameCallback = {
    (componentName: string): void;
};
export declare class FrameConfigUpdater {
    private updateFrame;
    private removeFrame;
    constructor(updateFrame: UpdateFrameCallback, removeFrame: RemoveFrameCallback);
    updateLocalPosition: (entity: Entity, position: Partial<Vector3Like>) => void;
    updateLocalOrientation: (entity: Entity, orientation: {
        oX?: number;
        oY?: number;
        oZ?: number;
        theta?: number;
    }) => void;
    updateGeometry: (entity: Entity, geometry: Partial<Frame["geometry"]>) => void;
    setFrameParent: (entity: Entity, parentName: string) => void;
    deleteFrame: (entity: Entity) => void;
    setGeometryType: (entity: Entity, type: "none" | "box" | "sphere" | "capsule") => void;
    private sanitizeFloatValue;
}
export {};
