import { z } from 'zod';
export declare function oneOrMany<T extends z.ZodTypeAny>(schema: T): z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<T>, T]>, z.ZodTransform<z.core.output<T>[], z.core.output<T>[] | z.core.$InferUnionOutput<T>>>;
export declare function parseIfValid<T extends z.ZodTypeAny>(schema: T): z.ZodPipe<z.ZodUnknown, z.ZodTransform<Awaited<z.core.output<T>> | undefined, unknown>>;
export declare const LanguageValueSchema: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>;
export declare const PointSchema: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
export declare const PointGeometrySchema: z.ZodObject<{
    type: z.ZodLiteral<"Point">;
    coordinates: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
}, z.core.$strip>;
export declare const ResourceMaskSchema: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
export declare const ImageServiceSchema: z.ZodEnum<{
    ImageService1: "ImageService1";
    ImageService2: "ImageService2";
    ImageService3: "ImageService3";
}>;
export declare const ResourceTypeSchema: z.ZodEnum<{
    ImageService1: "ImageService1";
    ImageService2: "ImageService2";
    ImageService3: "ImageService3";
    Canvas: "Canvas";
}>;
export type PartOfItemType = {
    id: string;
    type: string;
    label?: z.infer<typeof LanguageValueSchema>;
    partOf?: PartOfItemType[];
};
export declare const PartOfItemSchema: z.ZodType<PartOfItemType>;
export declare const PartOfSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodType<PartOfItemType, unknown, z.core.$ZodTypeInternals<PartOfItemType, unknown>>>, z.ZodType<PartOfItemType, unknown, z.core.$ZodTypeInternals<PartOfItemType, unknown>>]>, z.ZodTransform<PartOfItemType[], PartOfItemType | PartOfItemType[]>>;
export declare const HomepageItemSchema: z.ZodObject<{
    id: z.ZodString;
    type: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    format: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
}, z.core.$strip>;
export declare const HomepageSchema: z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
    id: z.ZodString;
    type: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    format: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
}, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>>, z.ZodUnion<readonly [z.ZodObject<{
    id: z.ZodString;
    type: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    format: z.ZodOptional<z.ZodString>;
    language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
}, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>]>, z.ZodTransform<({
    id: string;
    type?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    format?: string | undefined;
    language?: string | string[] | undefined;
} | undefined)[], {
    id: string;
    type?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    format?: string | undefined;
    language?: string | string[] | undefined;
} | ({
    id: string;
    type?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    format?: string | undefined;
    language?: string | string[] | undefined;
} | undefined)[] | undefined>>, z.ZodTransform<{
    id: string;
    type?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    format?: string | undefined;
    language?: string | string[] | undefined;
}[], ({
    id: string;
    type?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    format?: string | undefined;
    language?: string | string[] | undefined;
} | undefined)[]>>;
export declare const ProviderItemSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    homepage: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>>, z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>]>, z.ZodTransform<({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[], {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[] | undefined>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[], ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[]>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined, {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[]>>>;
}, z.core.$strip>;
export declare const ProviderSchema: z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    homepage: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>>, z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>]>, z.ZodTransform<({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[], {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[] | undefined>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[], ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[]>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined, {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[]>>>;
}, z.core.$strip>>, z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
    homepage: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodArray<z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>>, z.ZodUnion<readonly [z.ZodObject<{
        id: z.ZodString;
        type: z.ZodOptional<z.ZodString>;
        label: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodUnion<readonly [z.ZodString, z.ZodNumber, z.ZodBoolean]>>>>;
        format: z.ZodOptional<z.ZodString>;
        language: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
    }, z.core.$strip>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<undefined, unknown>>]>]>, z.ZodTransform<({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[], {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[] | undefined>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[], ({
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    } | undefined)[]>>, z.ZodTransform<{
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined, {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[]>>>;
}, z.core.$strip>]>, z.ZodTransform<{
    id?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    homepage?: {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined;
}[], {
    id?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    homepage?: {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined;
} | {
    id?: string | undefined;
    label?: Record<string, (string | number | boolean)[]> | undefined;
    homepage?: {
        id: string;
        type?: string | undefined;
        label?: Record<string, (string | number | boolean)[]> | undefined;
        format?: string | undefined;
        language?: string | string[] | undefined;
    }[] | undefined;
}[]>>;
export declare const TransformationSchema: z.ZodUnion<[z.ZodPipe<z.ZodUnknown, z.ZodTransform<{
    type: "helmert" | "polynomial" | "thinPlateSpline" | "projective" | "straight" | "linear";
    options?: {
        [x: string]: unknown;
    } | undefined;
} | undefined, unknown>>, z.ZodPipe<z.ZodUnknown, z.ZodTransform<{
    type: "helmert" | "polynomial" | "thinPlateSpline" | "projective" | "straight" | "linear";
    options?: {
        [x: string]: unknown;
    } | undefined;
} | undefined, unknown>>]>;
export declare const ProjectionSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    name: z.ZodOptional<z.ZodString>;
    definition: z.ZodUnion<readonly [z.ZodString, z.ZodUnknown]>;
}, z.core.$strip>;
export declare const ContextSchema: z.ZodUnion<readonly [z.ZodArray<z.ZodString>, z.ZodString]>;
