import { z } from 'zod';
export declare const HelmConfigBlob: z.ZodObject<{
    home: z.ZodOptional<z.ZodString>;
    sources: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    home?: string | undefined;
    sources?: string[] | undefined;
}, {
    home?: string | undefined;
    sources?: string[] | undefined;
}>;
/**
 *  OCI manifest object
 */
export declare const ManifestObject: z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodString;
}, "strip", z.ZodTypeAny, {
    schemaVersion: 2;
    mediaType: string;
}, {
    schemaVersion: 2;
    mediaType: string;
}>;
/**
 * Oci descriptor
 * https://github.com/opencontainers/image-spec/blob/main/descriptor.md
 */
export declare const Descriptor: z.ZodObject<{
    mediaType: z.ZodString;
    digest: z.ZodString;
    size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    size: number;
    digest: string;
    mediaType: string;
}, {
    size: number;
    digest: string;
    mediaType: string;
}>;
/**
 * OCI Image Configuration.
 *
 * Compatible with old docker configiguration.
 https://github.com/opencontainers/image-spec/blob/main/config.md
 */
export declare const OciImageConfig: z.ZodObject<{
    architecture: z.ZodString;
    config: z.ZodOptional<z.ZodObject<{
        Labels: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        Labels?: Record<string, string> | undefined;
    }, {
        Labels?: Record<string, string> | undefined;
    }>>;
}, "strip", z.ZodTypeAny, {
    architecture: string;
    config?: {
        Labels?: Record<string, string> | undefined;
    } | undefined;
}, {
    architecture: string;
    config?: {
        Labels?: Record<string, string> | undefined;
    } | undefined;
}>;
export type OciImageConfig = z.infer<typeof OciImageConfig>;
/**
 * OCI Image Manifest
 * The same structure as docker image manifest, but mediaType is not required and is not present in the wild.
 * https://github.com/opencontainers/image-spec/blob/main/manifest.md
 */
export declare const OciImageManifest: z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodDefault<z.ZodLiteral<"application/vnd.oci.image.manifest.v1+json">>;
    config: z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodEnum<["application/vnd.oci.image.config.v1+json", "application/vnd.cncf.helm.config.v1+json"]>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    }>;
    annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.oci.image.manifest.v1+json";
    annotations?: Record<string, string> | undefined;
}, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    };
    schemaVersion: 2;
    mediaType?: "application/vnd.oci.image.manifest.v1+json" | undefined;
    annotations?: Record<string, string> | undefined;
}>;
/**
 * OCI Image List
 * mediaType is not required.
 * https://github.com/opencontainers/image-spec/blob/main/image-index.md
 */
export declare const OciImageIndexManifest: z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodDefault<z.ZodLiteral<"application/vnd.oci.image.index.v1+json">>;
    manifests: z.ZodArray<z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodEnum<["application/vnd.oci.image.manifest.v1+json", "application/vnd.oci.image.index.v1+json"]>;
        platform: z.ZodOptional<z.ZodObject<{
            architecture: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            architecture?: string | undefined;
        }, {
            architecture?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }>, "many">;
    annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    schemaVersion: 2;
    mediaType: "application/vnd.oci.image.index.v1+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
    annotations?: Record<string, string> | undefined;
}, {
    schemaVersion: 2;
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
    mediaType?: "application/vnd.oci.image.index.v1+json" | undefined;
    annotations?: Record<string, string> | undefined;
}>;
/**
 * Image Manifest
 * https://docs.docker.com/registry/spec/manifest-v2-2/#image-manifest
 */
export declare const DistributionManifest: z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.v2+json">;
    config: z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodLiteral<"application/vnd.docker.container.image.v1+json">;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    }>;
}, "strip", z.ZodTypeAny, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.v2+json";
}, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.v2+json";
}>;
/**
 * Manifest List
 * https://docs.docker.com/registry/spec/manifest-v2-2/#manifest-list
 */
export declare const DistributionListManifest: z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.list.v2+json">;
    manifests: z.ZodArray<z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.v2+json">;
        platform: z.ZodOptional<z.ZodObject<{
            architecture: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            architecture?: string | undefined;
        }, {
            architecture?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.list.v2+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
}, {
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.list.v2+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
}>;
export declare const Manifest: z.ZodUnion<[z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.v2+json">;
    config: z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodLiteral<"application/vnd.docker.container.image.v1+json">;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    }>;
}, "strip", z.ZodTypeAny, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.v2+json";
}, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.container.image.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.v2+json";
}>, z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.list.v2+json">;
    manifests: z.ZodArray<z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodLiteral<"application/vnd.docker.distribution.manifest.v2+json">;
        platform: z.ZodOptional<z.ZodObject<{
            architecture: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            architecture?: string | undefined;
        }, {
            architecture?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }>, "many">;
}, "strip", z.ZodTypeAny, {
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.list.v2+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
}, {
    schemaVersion: 2;
    mediaType: "application/vnd.docker.distribution.manifest.list.v2+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.docker.distribution.manifest.v2+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
}>, z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodDefault<z.ZodLiteral<"application/vnd.oci.image.manifest.v1+json">>;
    config: z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodEnum<["application/vnd.oci.image.config.v1+json", "application/vnd.cncf.helm.config.v1+json"]>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    }>;
    annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    };
    schemaVersion: 2;
    mediaType: "application/vnd.oci.image.manifest.v1+json";
    annotations?: Record<string, string> | undefined;
}, {
    config: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.config.v1+json" | "application/vnd.cncf.helm.config.v1+json";
    };
    schemaVersion: 2;
    mediaType?: "application/vnd.oci.image.manifest.v1+json" | undefined;
    annotations?: Record<string, string> | undefined;
}>, z.ZodObject<{
    schemaVersion: z.ZodLiteral<2>;
    mediaType: z.ZodDefault<z.ZodLiteral<"application/vnd.oci.image.index.v1+json">>;
    manifests: z.ZodArray<z.ZodObject<{
        size: z.ZodNumber;
        digest: z.ZodString;
        mediaType: z.ZodEnum<["application/vnd.oci.image.manifest.v1+json", "application/vnd.oci.image.index.v1+json"]>;
        platform: z.ZodOptional<z.ZodObject<{
            architecture: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            architecture?: string | undefined;
        }, {
            architecture?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }, {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }>, "many">;
    annotations: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    schemaVersion: 2;
    mediaType: "application/vnd.oci.image.index.v1+json";
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
    annotations?: Record<string, string> | undefined;
}, {
    schemaVersion: 2;
    manifests: {
        size: number;
        digest: string;
        mediaType: "application/vnd.oci.image.manifest.v1+json" | "application/vnd.oci.image.index.v1+json";
        platform?: {
            architecture?: string | undefined;
        } | undefined;
    }[];
    mediaType?: "application/vnd.oci.image.index.v1+json" | undefined;
    annotations?: Record<string, string> | undefined;
}>]>;
export type Manifest = z.infer<typeof Manifest>;
