import { z } from "zod";
declare const Vector3: z.ZodObject<{
    x: z.ZodNumber;
    y: z.ZodNumber;
    z: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    x: number;
    y: number;
    z: number;
}, {
    x: number;
    y: number;
    z: number;
}>;
export declare const SpaceInstance: z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    description: z.ZodString;
    schema: z.ZodString;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }>;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    semantic_space_name: z.ZodOptional<z.ZodString>;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}>;
export declare const Model: z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    schema: z.ZodArray<z.ZodString, "many">;
    files: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }>, "many">;
    hull: z.ZodObject<{
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        uri: string;
    }, {
        uri: string;
    }>;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    schema: string[];
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}, {
    swid: string;
    name: string;
    schema: string[];
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}>;
export declare const ModelInstance: z.ZodObject<{
    model_swid: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    model_swid: string;
    description?: string | undefined;
}, {
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    model_swid: string;
    description?: string | undefined;
}>;
export declare const FilledModel: z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    schema: z.ZodArray<z.ZodString, "many">;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    __archived: z.ZodNullable<z.ZodBoolean>;
    files: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }>, "many">;
    hull: z.ZodObject<{
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        uri: string;
    }, {
        uri: string;
    }>;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    schema: string[];
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}, {
    swid: string;
    name: string;
    schema: string[];
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}>;
export declare const SpaceInstanceArray: z.ZodArray<z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    description: z.ZodString;
    schema: z.ZodString;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }>;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    semantic_space_name: z.ZodOptional<z.ZodString>;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}>, "many">;
export type SpaceHSML = z.infer<typeof SpaceInstance>;
export declare function isSpaceHSML(obj: any): obj is SpaceHSML;
export type ModelHSML = z.infer<typeof Model>;
export declare function isModel(obj: any): obj is ModelHSML;
export type ModelInstanceHSML = z.infer<typeof ModelInstance>;
export declare function isModelInstanceHSML(obj: any): obj is ModelInstanceHSML;
export type FilledModelHSML = z.infer<typeof FilledModel>;
export declare function isFilledModelFile(obj: any): obj is FilledModelHSML;
export type BaseHSML = {
    swid: string;
    name: string;
    schema: string;
    __archived: boolean;
};
export type Vector3HSML = BaseHSML & z.infer<typeof Vector3>;
export type SWID = string;
export declare const HSMLEntitySchema: z.ZodUnion<[z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    description: z.ZodString;
    schema: z.ZodString;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    }>;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    semantic_space_name: z.ZodOptional<z.ZodString>;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}, {
    swid: string;
    name: string;
    description: string;
    schema: string;
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    semantic_space_name?: string | undefined;
}>, z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    schema: z.ZodArray<z.ZodString, "many">;
    files: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }>, "many">;
    hull: z.ZodObject<{
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        uri: string;
    }, {
        uri: string;
    }>;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    schema: string[];
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}, {
    swid: string;
    name: string;
    schema: string[];
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}>, z.ZodObject<{
    swid: z.ZodString;
    name: z.ZodString;
    schema: z.ZodArray<z.ZodString, "many">;
    volume: z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
        z: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
        z: number;
    }, {
        x: number;
        y: number;
        z: number;
    }>;
    __archived: z.ZodNullable<z.ZodBoolean>;
    files: z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }, {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }>, "many">;
    hull: z.ZodObject<{
        uri: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        uri: string;
    }, {
        uri: string;
    }>;
    transform: z.ZodObject<{
        position: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
        rotation: z.ZodObject<{
            w: z.ZodNumber;
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
            w: number;
        }, {
            x: number;
            y: number;
            z: number;
            w: number;
        }>;
        scale: z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
            z: number;
        }, {
            x: number;
            y: number;
            z: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    }, {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    }>;
}, "strip", z.ZodTypeAny, {
    swid: string;
    name: string;
    schema: string[];
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}, {
    swid: string;
    name: string;
    schema: string[];
    transform: {
        position: {
            x: number;
            y: number;
            z: number;
        };
        rotation: {
            x: number;
            y: number;
            z: number;
            w: number;
        };
        scale: {
            x: number;
            y: number;
            z: number;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    __archived: boolean | null;
    files: {
        name: string;
        scale: {
            x: number;
            y: number;
            z: number;
        };
        uri: string;
    }[];
    hull: {
        uri: string;
    };
}>]>;
export type HSMLEntity = z.infer<typeof HSMLEntitySchema>;
export interface HSMLLink extends BaseHSML {
    source_swid: string;
    destination_swid: string[];
}
export interface SpaceSchema {
    schema: string[];
    swid: string;
    name: string;
    vectorization_strategies: string[];
    type: string;
    definitions: {
        swid: {
            type: string;
            pattern: string;
        };
        name: {
            type: string;
            pattern: string;
        };
        swid_or_name: {
            oneOf: Array<{
                $ref: string;
            }>;
        };
    };
    properties: {
        swid: {
            type: string;
        };
        name: {
            type: string;
            default: string;
        };
        schema: {
            type: string;
            items: {
                $ref: string;
            };
        };
        transform: {
            type: string;
            properties: {
                swid: {
                    type: string;
                };
                name: {
                    type: string;
                };
                schema: {
                    type: string;
                    items: {
                        $ref: string;
                    };
                };
                position: {
                    type: string;
                    properties: {
                        x: {
                            type: string;
                        };
                        y: {
                            type: string;
                        };
                        z: {
                            type: string;
                        };
                    };
                    required: string[];
                };
                rotation: {
                    type: string;
                    properties: {
                        w: {
                            type: string;
                        };
                        x: {
                            type: string;
                        };
                        y: {
                            type: string;
                        };
                        z: {
                            type: string;
                        };
                    };
                    required: string[];
                };
            };
        };
        volume: {
            type: string;
            properties: {
                x: {
                    type: string;
                };
                y: {
                    type: string;
                };
                z: {
                    type: string;
                };
            };
            required: string[];
        };
        semantic_space_name: {
            type: string;
            default: string;
        };
    };
    additionalProperties: boolean;
    required: string[];
}
export {};
