import type { Transform } from '@viamrobotics/sdk';
type FrameGeometryMap = {
    none: {
        type: 'none';
    };
    box: {
        type: 'box';
        x: number;
        y: number;
        z: number;
    };
    sphere: {
        type: 'sphere';
        r: number;
    };
    capsule: {
        type: 'capsule';
        r: number;
        l: number;
    };
};
export type FrameGeometry = keyof FrameGeometryMap;
type FrameOrientationMap = {
    quaternion: {
        type: 'quaternion';
        value: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    euler_angles: {
        type: 'euler_angles';
        value: {
            roll: number;
            pitch: number;
            yaw: number;
        };
    };
    ov_degrees: {
        type: 'ov_degrees';
        value: {
            x: number;
            y: number;
            z: number;
            th: number;
        };
    };
    ov_radians: {
        type: 'ov_radians';
        value: {
            x: number;
            y: number;
            z: number;
            th: number;
        };
    };
};
export type FrameOrientation = keyof FrameOrientationMap;
export interface Frame<T extends FrameGeometry = FrameGeometry, K extends FrameOrientation = FrameOrientation> {
    id?: string;
    name?: string;
    parent: string;
    translation: {
        x: number;
        y: number;
        z: number;
    };
    orientation: FrameOrientationMap[K];
    geometry?: FrameGeometryMap[T];
}
export declare const createFrame: <T extends FrameGeometry = "box", K extends FrameOrientation = "ov_degrees">(geometry?: FrameGeometryMap[T]) => Frame<T>;
export declare const createTransformFromFrame: (name: string, frame: Partial<Frame>) => Transform;
export {};
