import { z } from 'zod'; /** * A description of the schema of detected personal * protective equipment. */ export declare const DetectionSchema: z.ZodObject<{ type: z.ZodOptional; boundingBox: z.ZodObject<{ left: z.ZodNumber; top: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { left: number; width: number; height: number; top: number; }, { left: number; width: number; height: number; top: number; }>; }, "strip", z.ZodTypeAny, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }>; export type Detection = z.infer; /** * A description of the detected personal protective equipment * associated with a person's body part. */ export declare const BodyPartSchema: z.ZodObject<{ name: z.ZodOptional; confidence: z.ZodOptional; detections: z.ZodArray; boundingBox: z.ZodObject<{ left: z.ZodNumber; top: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { left: number; width: number; height: number; top: number; }, { left: number; width: number; height: number; top: number; }>; }, "strip", z.ZodTypeAny, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }, { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }>; export type BodyPart = z.infer; /** * The schema of a person in an image. */ export declare const PersonSchema: z.ZodObject<{ wearsRequiredEquipment: z.ZodBoolean; bodyParts: z.ZodArray; confidence: z.ZodOptional; detections: z.ZodArray; boundingBox: z.ZodObject<{ left: z.ZodNumber; top: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { left: number; width: number; height: number; top: number; }, { left: number; width: number; height: number; top: number; }>; }, "strip", z.ZodTypeAny, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }, { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }>, "many">; }, "strip", z.ZodTypeAny, { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }, { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }>, "many">; boundingBox: z.ZodObject<{ left: z.ZodNumber; top: z.ZodNumber; width: z.ZodNumber; height: z.ZodNumber; }, "strip", z.ZodTypeAny, { left: number; width: number; height: number; top: number; }, { left: number; width: number; height: number; top: number; }>; confidence: z.ZodOptional; }, "strip", z.ZodTypeAny, { boundingBox: { left: number; width: number; height: number; top: number; }; wearsRequiredEquipment: boolean; bodyParts: { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }[]; confidence?: number | undefined; }, { boundingBox: { left: number; width: number; height: number; top: number; }; wearsRequiredEquipment: boolean; bodyParts: { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }[]; confidence?: number | undefined; }>; export type PersonProps = z.infer; /** * Represents a person within an image. */ export declare class Person { props: PersonProps; /** * Person constructor. * @param props the properties of the detected person. */ constructor(props: PersonProps); /** * @returns a new detected person. */ static from(data: any): Person; /** * @returns whether the person is wearing the required * personal protective equipment. */ wearsRequiredEquipment(): boolean; /** * @returns the body parts of the person. */ bodyParts(): { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }[]; /** * @returns the bounding box of the detected person. */ boundingBox(): { left: number; width: number; height: number; top: number; }; /** * @returns the confidence score associated with the * detection of the person. */ confidence(): number | undefined; /** * @returns a JSON representation of the person. */ toJSON(): { boundingBox: { left: number; width: number; height: number; top: number; }; wearsRequiredEquipment: boolean; bodyParts: { detections: { boundingBox: { left: number; width: number; height: number; top: number; }; type?: string | undefined; }[]; name?: string | undefined; confidence?: number | undefined; }[]; confidence?: number | undefined; }; }