import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
export declare const protobufPackage = "dai.proto.common";
export declare enum CameraModel {
    PERSPECTIVE = 0,
    FISHEYE = 1,
    EQUIRECTANGULAR = 2,
    RADIALDIVISION = 3,
    UNRECOGNIZED = -1
}
export declare function cameraModelFromJSON(object: any): CameraModel;
export declare function cameraModelToJSON(object: CameraModel): string;
/** Shared Timestamp message */
export interface Timestamp {
    sec: number;
    nsec: number;
}
/** Shared CameraSettings message */
export interface CameraSettings {
    exposureTimeUs: number;
    sensitivityIso: number;
    lensPosition: number;
    wbColorTemp: number;
    lensPositionRaw: number;
}
export interface ImgTransformation {
    transformationMatrix: TransformationMatrix | undefined;
    sourceIntrinsicMatrix: TransformationMatrix | undefined;
    distortionModel: CameraModel;
    distortionCoefficients: FloatArray | undefined;
    srcWidth: number;
    srcHeight: number;
    width: number;
    height: number;
}
export interface TransformationMatrix {
    arrays: FloatArray[];
}
export interface FloatArray {
    values: number[];
}
export interface Color {
    r: number;
    g: number;
    b: number;
    a: number;
}
export interface Point2f {
    x: number;
    y: number;
}
export interface Point3f {
    x: number;
    y: number;
    z: number;
}
export interface Size2f {
    width: number;
    height: number;
}
export interface RotatedRect {
    center: Point2f | undefined;
    size: Size2f | undefined;
    angle: number;
}
export interface KeypointsList {
    keypoints: Keypoint[];
    edges: Edge[];
}
export interface Keypoint {
    imageCoordinates: Point3f | undefined;
    confidence: number;
    label: number;
    labelName: string;
}
export interface Edge {
    src: number;
    dst: number;
}
export interface SpatialKeypointsList {
    keypoints: SpatialKeypoint[];
    edges: Edge[];
}
export interface SpatialKeypoint {
    imageCoordinates: Point3f | undefined;
    confidence: number;
    label: number;
    labelName: string;
    spatialCoordinates: Point3f | undefined;
}
export declare const Timestamp: MessageFns<Timestamp>;
export declare const CameraSettings: MessageFns<CameraSettings>;
export declare const ImgTransformation: MessageFns<ImgTransformation>;
export declare const TransformationMatrix: MessageFns<TransformationMatrix>;
export declare const FloatArray: MessageFns<FloatArray>;
export declare const Color: MessageFns<Color>;
export declare const Point2f: MessageFns<Point2f>;
export declare const Point3f: MessageFns<Point3f>;
export declare const Size2f: MessageFns<Size2f>;
export declare const RotatedRect: MessageFns<RotatedRect>;
export declare const KeypointsList: MessageFns<KeypointsList>;
export declare const Keypoint: MessageFns<Keypoint>;
export declare const Edge: MessageFns<Edge>;
export declare const SpatialKeypointsList: MessageFns<SpatialKeypointsList>;
export declare const SpatialKeypoint: MessageFns<SpatialKeypoint>;
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export interface MessageFns<T> {
    encode(message: T, writer?: BinaryWriter): BinaryWriter;
    decode(input: BinaryReader | Uint8Array, length?: number): T;
    fromJSON(object: any): T;
    toJSON(message: T): unknown;
    create<I extends Exact<DeepPartial<T>, I>>(base?: I): T;
    fromPartial<I extends Exact<DeepPartial<T>, I>>(object: I): T;
}
export declare const protobufName = "common";
export {};
//# sourceMappingURL=common.d.ts.map