import { ZodEffects, z } from 'zod';
import type { PackageDependency, PackageFileContent } from '../types';
export declare const PoetryDependencies: ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>;
export declare const PoetryGroupDependencies: ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>[]>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>;
export declare const PoetrySectionSchema: ZodEffects<z.ZodObject<{
    dependencies: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
    'dev-dependencies': z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
    extras: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
    group: z.ZodOptional<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>[]>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
    source: z.ZodCatch<z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>, string[], any[]>, string[], any[]>, string[], any[]>>>;
}, "strip", z.ZodTypeAny, {
    dependencies?: PackageDependency<Record<string, any>>[] | undefined;
    'dev-dependencies'?: PackageDependency<Record<string, any>>[] | undefined;
    extras?: PackageDependency<Record<string, any>>[] | undefined;
    group?: PackageDependency<Record<string, any>>[] | undefined;
    source?: string[] | undefined;
}, {
    dependencies?: Record<string, any> | undefined;
    'dev-dependencies'?: Record<string, any> | undefined;
    extras?: Record<string, any> | undefined;
    group?: Record<string, any> | undefined;
    source?: unknown;
}>, PackageFileContent<Record<string, any>>, {
    dependencies?: Record<string, any> | undefined;
    'dev-dependencies'?: Record<string, any> | undefined;
    extras?: Record<string, any> | undefined;
    group?: Record<string, any> | undefined;
    source?: unknown;
}>;
export type PoetrySectionSchema = z.infer<typeof PoetrySectionSchema>;
export declare const PoetrySchema: ZodEffects<z.ZodObject<{
    tool: ZodEffects<z.ZodObject<{
        poetry: ZodEffects<z.ZodObject<{
            dependencies: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            'dev-dependencies': z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            extras: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            group: z.ZodOptional<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>[]>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            source: z.ZodCatch<z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>, string[], any[]>, string[], any[]>, string[], any[]>>>;
        }, "strip", z.ZodTypeAny, {
            dependencies?: PackageDependency<Record<string, any>>[] | undefined;
            'dev-dependencies'?: PackageDependency<Record<string, any>>[] | undefined;
            extras?: PackageDependency<Record<string, any>>[] | undefined;
            group?: PackageDependency<Record<string, any>>[] | undefined;
            source?: string[] | undefined;
        }, {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        }>, PackageFileContent<Record<string, any>>, {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        }>;
    }, "strip", z.ZodTypeAny, {
        poetry: PackageFileContent<Record<string, any>>;
    }, {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    }>, PackageFileContent<Record<string, any>>, {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    }>;
    'build-system': z.ZodCatch<z.ZodOptional<ZodEffects<z.ZodObject<{
        'build-backend': ZodEffects<z.ZodString, string, string>;
        requires: ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, {
            depName: string;
            poetryRequirement: string;
        }[], any[]>, string | undefined, any[]>;
    }, "strip", z.ZodTypeAny, {
        'build-backend': string;
        requires?: string | undefined;
    }, {
        requires: any[];
        'build-backend': string;
    }>, string | undefined, {
        requires: any[];
        'build-backend': string;
    }>>>;
}, "strip", z.ZodTypeAny, {
    tool: PackageFileContent<Record<string, any>>;
    'build-system'?: string | undefined;
}, {
    tool: {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    };
    'build-system'?: unknown;
}>, {
    packageFileContent: PackageFileContent<Record<string, any>>;
    poetryRequirement: string | undefined;
}, {
    tool: {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    };
    'build-system'?: unknown;
}>;
export type PoetrySchema = z.infer<typeof PoetrySchema>;
export declare const PoetrySchemaToml: z.ZodPipeline<ZodEffects<z.ZodString, unknown, string>, ZodEffects<z.ZodObject<{
    tool: ZodEffects<z.ZodObject<{
        poetry: ZodEffects<z.ZodObject<{
            dependencies: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            'dev-dependencies': z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            extras: z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            group: z.ZodOptional<ZodEffects<ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, PackageDependency<Record<string, any>>[]>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>;
            source: z.ZodCatch<z.ZodOptional<ZodEffects<ZodEffects<ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, string[], any[]>, string[], any[]>, string[], any[]>, string[], any[]>>>;
        }, "strip", z.ZodTypeAny, {
            dependencies?: PackageDependency<Record<string, any>>[] | undefined;
            'dev-dependencies'?: PackageDependency<Record<string, any>>[] | undefined;
            extras?: PackageDependency<Record<string, any>>[] | undefined;
            group?: PackageDependency<Record<string, any>>[] | undefined;
            source?: string[] | undefined;
        }, {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        }>, PackageFileContent<Record<string, any>>, {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        }>;
    }, "strip", z.ZodTypeAny, {
        poetry: PackageFileContent<Record<string, any>>;
    }, {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    }>, PackageFileContent<Record<string, any>>, {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    }>;
    'build-system': z.ZodCatch<z.ZodOptional<ZodEffects<z.ZodObject<{
        'build-backend': ZodEffects<z.ZodString, string, string>;
        requires: ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, {
            depName: string;
            poetryRequirement: string;
        }[], any[]>, string | undefined, any[]>;
    }, "strip", z.ZodTypeAny, {
        'build-backend': string;
        requires?: string | undefined;
    }, {
        requires: any[];
        'build-backend': string;
    }>, string | undefined, {
        requires: any[];
        'build-backend': string;
    }>>>;
}, "strip", z.ZodTypeAny, {
    tool: PackageFileContent<Record<string, any>>;
    'build-system'?: string | undefined;
}, {
    tool: {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    };
    'build-system'?: unknown;
}>, {
    packageFileContent: PackageFileContent<Record<string, any>>;
    poetryRequirement: string | undefined;
}, {
    tool: {
        poetry: {
            dependencies?: Record<string, any> | undefined;
            'dev-dependencies'?: Record<string, any> | undefined;
            extras?: Record<string, any> | undefined;
            group?: Record<string, any> | undefined;
            source?: unknown;
        };
    };
    'build-system'?: unknown;
}>>;
export declare const Lockfile: ZodEffects<z.ZodPipeline<ZodEffects<z.ZodString, unknown, string>, z.ZodObject<{
    package: z.ZodCatch<ZodEffects<ZodEffects<z.ZodArray<z.ZodAny, "many">, [string, string][], any[]>, {
        [k: string]: string;
    }, any[]>>;
    metadata: z.ZodCatch<ZodEffects<z.ZodObject<{
        'lock-version': z.ZodCatch<z.ZodOptional<ZodEffects<z.ZodString, string, string>>>;
        'python-versions': z.ZodCatch<z.ZodOptional<z.ZodString>>;
    }, "strip", z.ZodTypeAny, {
        'lock-version'?: string | undefined;
        'python-versions'?: string | undefined;
    }, {
        'lock-version'?: unknown;
        'python-versions'?: unknown;
    }>, {
        poetryConstraint: string | undefined;
        pythonVersions: string | undefined;
    }, {
        'lock-version'?: unknown;
        'python-versions'?: unknown;
    }>>;
}, "strip", z.ZodTypeAny, {
    metadata: {
        poetryConstraint: string | undefined;
        pythonVersions: string | undefined;
    };
    package: {
        [k: string]: string;
    };
}, {
    package?: unknown;
    metadata?: unknown;
}>>, {
    lock: {
        [k: string]: string;
    };
    poetryConstraint: string | undefined;
    pythonVersions: string | undefined;
}, string>;
