import _m0 from "protobufjs/minimal";
import { ImgDetection } from "./ImgDetections";
import { ImgTransformation, Timestamp } from "./common";
export declare const protobufPackage = "dai.proto.spatial_img_detections";
export declare enum SpatialLocationCalculatorAlgorithm {
    AVERAGE = 0,
    MEAN = 0,
    MIN = 1,
    MAX = 2,
    MODE = 3,
    MEDIAN = 4,
    UNRECOGNIZED = -1
}
export declare function spatialLocationCalculatorAlgorithmFromJSON(object: any): SpatialLocationCalculatorAlgorithm;
export declare function spatialLocationCalculatorAlgorithmToJSON(object: SpatialLocationCalculatorAlgorithm): string;
export interface SpatialImgDetections {
    sequenceNum: number;
    ts: Timestamp | undefined;
    tsDevice: Timestamp | undefined;
    detections: SpatialImgDetection[];
    transformation: ImgTransformation | undefined;
}
export interface SpatialImgDetection {
    detection: ImgDetection | undefined;
    spatialCoordinates: Point3f | undefined;
    boundingBoxMapping: SpatialLocationCalculatorConfigData | undefined;
}
export interface Point3f {
    /** default value: 0.0f */
    x: number;
    /** default value: 0.0f */
    y: number;
    /** default value: 0.0f */
    z: number;
}
export interface SpatialLocationCalculatorConfigData {
    roi: Rect | undefined;
    depthThresholds: SpatialLocationCalculatorConfigThresholds | undefined;
    calculationAlgorithm: SpatialLocationCalculatorAlgorithm;
    /** default value: AUTO */
    stepSize: number;
}
export interface Rect {
    /** default value: 0.0f */
    x: number;
    /** default value: 0.0f */
    y: number;
    /** default value: 0.0f */
    width: number;
    /** default value: 0.0f */
    height: number;
}
export interface SpatialLocationCalculatorConfigThresholds {
    /** default value: 0 */
    lowerThreshold: number;
    /** default value: 65535 */
    upperThreshold: number;
}
export declare const SpatialImgDetections: {
    encode(message: SpatialImgDetections, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SpatialImgDetections;
    fromJSON(object: any): SpatialImgDetections;
    toJSON(message: SpatialImgDetections): unknown;
    create<I extends Exact<DeepPartial<SpatialImgDetections>, I>>(base?: I): SpatialImgDetections;
    fromPartial<I extends Exact<DeepPartial<SpatialImgDetections>, I>>(object: I): SpatialImgDetections;
};
export declare const SpatialImgDetection: {
    encode(message: SpatialImgDetection, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SpatialImgDetection;
    fromJSON(object: any): SpatialImgDetection;
    toJSON(message: SpatialImgDetection): unknown;
    create<I extends Exact<DeepPartial<SpatialImgDetection>, I>>(base?: I): SpatialImgDetection;
    fromPartial<I extends Exact<DeepPartial<SpatialImgDetection>, I>>(object: I): SpatialImgDetection;
};
export declare const Point3f: {
    encode(message: Point3f, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Point3f;
    fromJSON(object: any): Point3f;
    toJSON(message: Point3f): unknown;
    create<I extends Exact<DeepPartial<Point3f>, I>>(base?: I): Point3f;
    fromPartial<I extends Exact<DeepPartial<Point3f>, I>>(object: I): Point3f;
};
export declare const SpatialLocationCalculatorConfigData: {
    encode(message: SpatialLocationCalculatorConfigData, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SpatialLocationCalculatorConfigData;
    fromJSON(object: any): SpatialLocationCalculatorConfigData;
    toJSON(message: SpatialLocationCalculatorConfigData): unknown;
    create<I extends Exact<DeepPartial<SpatialLocationCalculatorConfigData>, I>>(base?: I): SpatialLocationCalculatorConfigData;
    fromPartial<I extends Exact<DeepPartial<SpatialLocationCalculatorConfigData>, I>>(object: I): SpatialLocationCalculatorConfigData;
};
export declare const Rect: {
    encode(message: Rect, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Rect;
    fromJSON(object: any): Rect;
    toJSON(message: Rect): unknown;
    create<I extends Exact<DeepPartial<Rect>, I>>(base?: I): Rect;
    fromPartial<I extends Exact<DeepPartial<Rect>, I>>(object: I): Rect;
};
export declare const SpatialLocationCalculatorConfigThresholds: {
    encode(message: SpatialLocationCalculatorConfigThresholds, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): SpatialLocationCalculatorConfigThresholds;
    fromJSON(object: any): SpatialLocationCalculatorConfigThresholds;
    toJSON(message: SpatialLocationCalculatorConfigThresholds): unknown;
    create<I extends Exact<DeepPartial<SpatialLocationCalculatorConfigThresholds>, I>>(base?: I): SpatialLocationCalculatorConfigThresholds;
    fromPartial<I extends Exact<DeepPartial<SpatialLocationCalculatorConfigThresholds>, I>>(object: I): SpatialLocationCalculatorConfigThresholds;
};
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 declare const protobufName = "SpatialImgDetections";
export {};
//# sourceMappingURL=SpatialImgDetections.d.ts.map