import { z } from 'zod';
export declare const ComposerLock: z.ZodObject<{
    'plugin-api-version': z.ZodOptional<z.ZodString>;
    packages: z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        version: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        version: string;
    }, {
        name: string;
        version: string;
    }>, "many">>;
    'packages-dev': z.ZodOptional<z.ZodArray<z.ZodObject<{
        name: z.ZodString;
        version: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        name: string;
        version: string;
    }, {
        name: string;
        version: string;
    }>, "many">>;
}, "strip", z.ZodTypeAny, {
    'plugin-api-version'?: string | undefined;
    packages?: {
        name: string;
        version: string;
    }[] | undefined;
    'packages-dev'?: {
        name: string;
        version: string;
    }[] | undefined;
}, {
    'plugin-api-version'?: string | undefined;
    packages?: {
        name: string;
        version: string;
    }[] | undefined;
    'packages-dev'?: {
        name: string;
        version: string;
    }[] | undefined;
}>;
export type ComposerLock = z.infer<typeof ComposerLock>;
declare const ComposerRepository: z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodUnion<[z.ZodLiteral<"composer">, z.ZodLiteral<"git">, z.ZodLiteral<"package">, z.ZodLiteral<"path">, z.ZodLiteral<"vcs">]>;
    packagist: z.ZodOptional<z.ZodBoolean>;
    'packagist.org': z.ZodOptional<z.ZodBoolean>;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}>;
export type ComposerRepository = z.infer<typeof ComposerRepository>;
declare const ComposerRepositories: z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodUnion<[z.ZodLiteral<"composer">, z.ZodLiteral<"git">, z.ZodLiteral<"package">, z.ZodLiteral<"path">, z.ZodLiteral<"vcs">]>;
    packagist: z.ZodOptional<z.ZodBoolean>;
    'packagist.org': z.ZodOptional<z.ZodBoolean>;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}>, z.ZodBoolean]>>, z.ZodArray<z.ZodObject<{
    name: z.ZodOptional<z.ZodString>;
    type: z.ZodUnion<[z.ZodLiteral<"composer">, z.ZodLiteral<"git">, z.ZodLiteral<"package">, z.ZodLiteral<"path">, z.ZodLiteral<"vcs">]>;
    packagist: z.ZodOptional<z.ZodBoolean>;
    'packagist.org': z.ZodOptional<z.ZodBoolean>;
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}, {
    type: "path" | "package" | "git" | "composer" | "vcs";
    url: string;
    name?: string | undefined;
    packagist?: boolean | undefined;
    'packagist.org'?: boolean | undefined;
}>, "many">]>;
export type ComposerRepositories = z.infer<typeof ComposerRepositories>;
export declare const ComposerConfig: z.ZodObject<{
    type: z.ZodOptional<z.ZodString>;
    /**
     * Setting a fixed PHP version (e.g. {"php": "7.0.3"}) will let you fake the
     * platform version so that you can emulate a production env or define your
     * target platform in the config.
     * See https://getcomposer.org/doc/06-config.md#platform
     */
    config: z.ZodOptional<z.ZodObject<{
        platform: z.ZodOptional<z.ZodObject<{
            php: z.ZodOptional<z.ZodString>;
        }, "strip", z.ZodTypeAny, {
            php?: string | undefined;
        }, {
            php?: string | undefined;
        }>>;
    }, "strip", z.ZodTypeAny, {
        platform?: {
            php?: string | undefined;
        } | undefined;
    }, {
        platform?: {
            php?: string | undefined;
        } | undefined;
    }>>;
    /**
     * A repositories field can be an array of Repo objects or an object of repoName: Repo
     * Also it can be a boolean (usually false) to disable packagist.
     * (Yes this can be confusing, as it is also not properly documented in the composer docs)
     * See https://getcomposer.org/doc/05-repositories.md#disabling-packagist-org
     */
    repositories: z.ZodOptional<z.ZodUnion<[z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodUnion<[z.ZodLiteral<"composer">, z.ZodLiteral<"git">, z.ZodLiteral<"package">, z.ZodLiteral<"path">, z.ZodLiteral<"vcs">]>;
        packagist: z.ZodOptional<z.ZodBoolean>;
        'packagist.org': z.ZodOptional<z.ZodBoolean>;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }, {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }>, z.ZodBoolean]>>, z.ZodArray<z.ZodObject<{
        name: z.ZodOptional<z.ZodString>;
        type: z.ZodUnion<[z.ZodLiteral<"composer">, z.ZodLiteral<"git">, z.ZodLiteral<"package">, z.ZodLiteral<"path">, z.ZodLiteral<"vcs">]>;
        packagist: z.ZodOptional<z.ZodBoolean>;
        'packagist.org': z.ZodOptional<z.ZodBoolean>;
        url: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }, {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }>, "many">]>>;
    require: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
    'require-dev': z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    type?: string | undefined;
    config?: {
        platform?: {
            php?: string | undefined;
        } | undefined;
    } | undefined;
    repositories?: Record<string, boolean | {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }> | {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }[] | undefined;
    require?: Record<string, string> | undefined;
    'require-dev'?: Record<string, string> | undefined;
}, {
    type?: string | undefined;
    config?: {
        platform?: {
            php?: string | undefined;
        } | undefined;
    } | undefined;
    repositories?: Record<string, boolean | {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }> | {
        type: "path" | "package" | "git" | "composer" | "vcs";
        url: string;
        name?: string | undefined;
        packagist?: boolean | undefined;
        'packagist.org'?: boolean | undefined;
    }[] | undefined;
    require?: Record<string, string> | undefined;
    'require-dev'?: Record<string, string> | undefined;
}>;
export type ComposerConfig = z.infer<typeof ComposerConfig>;
export {};
