import { z } from 'zod';
import type { PackageDependency } from '../types';
type DependencyGroup = z.ZodType<PackageDependency<Record<string, any>>[]>;
declare function DependencyGroup(depType: string): DependencyGroup;
declare const UvGitSource: z.ZodObject<{
    git: z.ZodString;
    rev: z.ZodOptional<z.ZodString>;
    tag: z.ZodOptional<z.ZodString>;
    branch: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    git: string;
    branch?: string | undefined;
    tag?: string | undefined;
    rev?: string | undefined;
}, {
    git: string;
    branch?: string | undefined;
    tag?: string | undefined;
    rev?: string | undefined;
}>;
export type UvGitSource = z.infer<typeof UvGitSource>;
export declare const ProjectSection: z.ZodObject<{
    version: z.ZodCatch<z.ZodOptional<z.ZodString>>;
    'requires-python': z.ZodCatch<z.ZodOptional<z.ZodString>>;
    dependencies: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, PackageDependency<Record<string, any>>[], any[]>>;
    'optional-dependencies': z.ZodCatch<DependencyGroup>;
}, "strip", z.ZodTypeAny, {
    dependencies: PackageDependency<Record<string, any>>[];
    'optional-dependencies': PackageDependency<Record<string, any>>[];
    version?: string | undefined;
    'requires-python'?: string | undefined;
}, {
    version?: unknown;
    dependencies?: unknown;
    'requires-python'?: unknown;
    'optional-dependencies'?: unknown;
}>;
export declare const PyProject: z.ZodObject<{
    project: z.ZodCatch<z.ZodOptional<z.ZodObject<{
        version: z.ZodCatch<z.ZodOptional<z.ZodString>>;
        'requires-python': z.ZodCatch<z.ZodOptional<z.ZodString>>;
        dependencies: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, PackageDependency<Record<string, any>>[], any[]>>;
        'optional-dependencies': z.ZodCatch<DependencyGroup>;
    }, "strip", z.ZodTypeAny, {
        dependencies: PackageDependency<Record<string, any>>[];
        'optional-dependencies': PackageDependency<Record<string, any>>[];
        version?: string | undefined;
        'requires-python'?: string | undefined;
    }, {
        version?: unknown;
        dependencies?: unknown;
        'requires-python'?: unknown;
        'optional-dependencies'?: unknown;
    }>>>;
    'build-system': z.ZodCatch<z.ZodOptional<z.ZodObject<{
        requires: z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, PackageDependency<Record<string, any>>[], any[]>>;
        'build-backend': z.ZodCatch<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        requires: PackageDependency<Record<string, any>>[];
        'build-backend'?: string | undefined;
    }, {
        requires?: unknown;
        'build-backend'?: unknown;
    }>>>;
    'dependency-groups': z.ZodCatch<DependencyGroup>;
    tool: z.ZodCatch<z.ZodOptional<z.ZodObject<{
        pdm: z.ZodCatch<z.ZodOptional<z.ZodEffects<z.ZodObject<{
            'dev-dependencies': z.ZodCatch<DependencyGroup>;
            source: z.ZodCatch<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
                url: string;
                name: string;
            }[], any[]>, string[], any[]>>>;
        }, "strip", z.ZodTypeAny, {
            'dev-dependencies': PackageDependency<Record<string, any>>[];
            source?: string[] | undefined;
        }, {
            source?: unknown;
            'dev-dependencies'?: unknown;
        }>, {
            devDependencies: PackageDependency<Record<string, any>>[];
            registryUrls: string[] | undefined;
        }, {
            source?: unknown;
            'dev-dependencies'?: unknown;
        }>>>;
        hatch: z.ZodCatch<z.ZodOptional<z.ZodEffects<z.ZodCatch<z.ZodObject<{
            envs: z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                dependencies?: unknown;
                'extra-dependencies'?: unknown;
            }>, Record<string, any>>;
        }, "strip", z.ZodTypeAny, {
            envs: Record<string, {
                dependencies?: unknown;
                'extra-dependencies'?: unknown;
            }>;
        }, {
            envs: Record<string, any>;
        }>>, {
            deps: PackageDependency<Record<string, any>>[];
        }, unknown>>>;
        uv: z.ZodCatch<z.ZodOptional<z.ZodObject<{
            'dev-dependencies': z.ZodCatch<z.ZodEffects<z.ZodArray<z.ZodAny, "many">, PackageDependency<Record<string, any>>[], any[]>>;
            'required-version': z.ZodOptional<z.ZodString>;
            sources: z.ZodOptional<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                index: string;
            } | {
                git: string;
                branch?: string | undefined;
                tag?: string | undefined;
                rev?: string | undefined;
            } | {
                url: string;
            } | {
                path: string;
            } | {
                workspace: true;
            }>, Record<string, any>>>;
            index: z.ZodOptional<z.ZodArray<z.ZodObject<{
                name: z.ZodOptional<z.ZodString>;
                url: z.ZodString;
                default: z.ZodDefault<z.ZodBoolean>;
                explicit: z.ZodDefault<z.ZodBoolean>;
            }, "strip", z.ZodTypeAny, {
                default: boolean;
                url: string;
                explicit: boolean;
                name?: string | undefined;
            }, {
                url: string;
                default?: boolean | undefined;
                name?: string | undefined;
                explicit?: boolean | undefined;
            }>, "many">>;
        }, "strip", z.ZodTypeAny, {
            'dev-dependencies': PackageDependency<Record<string, any>>[];
            sources?: Record<string, {
                index: string;
            } | {
                git: string;
                branch?: string | undefined;
                tag?: string | undefined;
                rev?: string | undefined;
            } | {
                url: string;
            } | {
                path: string;
            } | {
                workspace: true;
            }> | undefined;
            index?: {
                default: boolean;
                url: string;
                explicit: boolean;
                name?: string | undefined;
            }[] | undefined;
            'required-version'?: string | undefined;
        }, {
            sources?: Record<string, any> | undefined;
            'dev-dependencies'?: unknown;
            index?: {
                url: string;
                default?: boolean | undefined;
                name?: string | undefined;
                explicit?: boolean | undefined;
            }[] | undefined;
            'required-version'?: string | undefined;
        }>>>;
    }, "strip", z.ZodTypeAny, {
        uv?: {
            'dev-dependencies': PackageDependency<Record<string, any>>[];
            sources?: Record<string, {
                index: string;
            } | {
                git: string;
                branch?: string | undefined;
                tag?: string | undefined;
                rev?: string | undefined;
            } | {
                url: string;
            } | {
                path: string;
            } | {
                workspace: true;
            }> | undefined;
            index?: {
                default: boolean;
                url: string;
                explicit: boolean;
                name?: string | undefined;
            }[] | undefined;
            'required-version'?: string | undefined;
        } | undefined;
        pdm?: {
            devDependencies: PackageDependency<Record<string, any>>[];
            registryUrls: string[] | undefined;
        } | undefined;
        hatch?: {
            deps: PackageDependency<Record<string, any>>[];
        } | undefined;
    }, {
        uv?: unknown;
        pdm?: unknown;
        hatch?: unknown;
    }>>>;
}, "strip", z.ZodTypeAny, {
    'dependency-groups': PackageDependency<Record<string, any>>[];
    project?: {
        dependencies: PackageDependency<Record<string, any>>[];
        'optional-dependencies': PackageDependency<Record<string, any>>[];
        version?: string | undefined;
        'requires-python'?: string | undefined;
    } | undefined;
    tool?: {
        uv?: {
            'dev-dependencies': PackageDependency<Record<string, any>>[];
            sources?: Record<string, {
                index: string;
            } | {
                git: string;
                branch?: string | undefined;
                tag?: string | undefined;
                rev?: string | undefined;
            } | {
                url: string;
            } | {
                path: string;
            } | {
                workspace: true;
            }> | undefined;
            index?: {
                default: boolean;
                url: string;
                explicit: boolean;
                name?: string | undefined;
            }[] | undefined;
            'required-version'?: string | undefined;
        } | undefined;
        pdm?: {
            devDependencies: PackageDependency<Record<string, any>>[];
            registryUrls: string[] | undefined;
        } | undefined;
        hatch?: {
            deps: PackageDependency<Record<string, any>>[];
        } | undefined;
    } | undefined;
    'build-system'?: {
        requires: PackageDependency<Record<string, any>>[];
        'build-backend'?: string | undefined;
    } | undefined;
}, {
    project?: unknown;
    tool?: unknown;
    'dependency-groups'?: unknown;
    'build-system'?: unknown;
}>;
export type PyProject = z.infer<typeof PyProject>;
export declare const PdmLockfile: z.ZodEffects<z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
    package: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
        version: string;
        name: string;
    }[], any[]>;
}, "strip", z.ZodTypeAny, {
    package: {
        version: string;
        name: string;
    }[];
}, {
    package: any[];
}>>, {
    [k: string]: string;
}, string>, {
    lock: {
        [k: string]: string;
    };
}, string>;
export declare const UvLockfile: z.ZodEffects<z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
    package: z.ZodEffects<z.ZodArray<z.ZodAny, "many">, {
        version: string;
        name: string;
    }[], any[]>;
}, "strip", z.ZodTypeAny, {
    package: {
        version: string;
        name: string;
    }[];
}, {
    package: any[];
}>>, {
    [k: string]: string;
}, string>;
export {};
