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;
    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<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
            w: 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.ZodString;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "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;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    semantic_space_name: string;
    __archived: boolean | null;
}, {
    swid: string;
    name: 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;
    };
    semantic_space_name: string;
    __archived: boolean | null;
}>;
export declare const SpaceInstanceArray: z.ZodArray<z.ZodObject<{
    swid: z.ZodString;
    name: 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<{
            x: z.ZodNumber;
            y: z.ZodNumber;
            z: z.ZodNumber;
            w: 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.ZodString;
    __archived: z.ZodNullable<z.ZodBoolean>;
}, "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;
        };
    };
    volume: {
        x: number;
        y: number;
        z: number;
    };
    semantic_space_name: string;
    __archived: boolean | null;
}, {
    swid: string;
    name: 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;
    };
    semantic_space_name: string;
    __archived: boolean | null;
}>, "many">;
export type SpaceHSML = z.infer<typeof SpaceInstance>;
export type BaseHSML = {
    swid: string;
    name: string;
    schema: string;
    __archived: boolean;
};
export type Vector3HSML = BaseHSML & z.infer<typeof Vector3>;
export type SWID = string;
export type HSMLEntity = SpaceHSML | Vector3HSML;
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 {};
