import { z } from 'zod';
import type { PackageDependency } from '../types';
export type Channels = z.infer<typeof Channel>[];
declare const Channel: z.ZodUnion<[z.ZodString, z.ZodObject<{
    channel: z.ZodString;
    priority: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    priority: number;
    channel: string;
}, {
    priority: number;
    channel: string;
}>]>;
export interface PixiPackageDependency extends PackageDependency {
    channel?: string;
    channels?: Channels;
}
/**
 * `$` of `pixi.toml` or `$.tool.pixi` of `pyproject.toml`
 */
export declare const PixiConfig: z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
    workspace: z.ZodObject<{
        channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
            channel: z.ZodString;
            priority: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            priority: number;
            channel: string;
        }, {
            priority: number;
            channel: string;
        }>]>, "many">>;
        'requires-pixi': z.ZodOptional<z.ZodString>;
        'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
    }, "strip", z.ZodTypeAny, {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    }, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    workspace: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    workspace: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>, {
    project: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    workspace: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>, z.ZodObject<{
    project: z.ZodObject<{
        channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
            channel: z.ZodString;
            priority: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            priority: number;
            channel: string;
        }, {
            priority: number;
            channel: string;
        }>]>, "many">>;
        'requires-pixi': z.ZodOptional<z.ZodString>;
        'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
    }, "strip", z.ZodTypeAny, {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    }, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    project: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    project: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>]>, z.ZodObject<{
    feature: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
    } & {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    }>, Record<string, any>>, {
        conda: PixiPackageDependency[];
        pypi: PixiPackageDependency[];
    }, Record<string, any>>>;
}, "strip", z.ZodTypeAny, {
    feature: {
        conda: PixiPackageDependency[];
        pypi: PixiPackageDependency[];
    };
}, {
    feature?: Record<string, any> | undefined;
}>>, z.ZodEffects<z.ZodObject<{
    dependencies: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        currentValue: string;
        versioning: string;
        datasource: string;
        channel: string | undefined;
    }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
    'pypi-dependencies': z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        currentValue: string;
        versioning: string;
        datasource: string;
    } | {
        currentValue: string | undefined;
        packageName: string;
        datasource: string;
        versioning: string;
        skipStage: "extract";
        skipReason: "unspecified-version";
    } | {
        currentValue: string;
        packageName: string;
        datasource: string;
        versioning: string;
        skipStage?: undefined;
        skipReason?: undefined;
    }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
    target: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        dependencies: PackageDependency<Record<string, any>>[];
        'pypi-dependencies': PackageDependency<Record<string, any>>[];
    }>, Record<string, any>>, {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    }, Record<string, any>>>>;
}, "strip", z.ZodTypeAny, {
    target: {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    };
    dependencies: PackageDependency<Record<string, any>>[];
    'pypi-dependencies': PackageDependency<Record<string, any>>[];
}, {
    target?: Record<string, any> | undefined;
    dependencies?: Record<string, any> | undefined;
    'pypi-dependencies'?: Record<string, any> | undefined;
}>, {
    pypi: PixiPackageDependency[];
    conda: PixiPackageDependency[];
}, {
    target?: Record<string, any> | undefined;
    dependencies?: Record<string, any> | undefined;
    'pypi-dependencies'?: Record<string, any> | undefined;
}>>;
export type PixiConfig = z.infer<typeof PixiConfig>;
export declare const PixiFile: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
    workspace: z.ZodObject<{
        channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
            channel: z.ZodString;
            priority: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            priority: number;
            channel: string;
        }, {
            priority: number;
            channel: string;
        }>]>, "many">>;
        'requires-pixi': z.ZodOptional<z.ZodString>;
        'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
    }, "strip", z.ZodTypeAny, {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    }, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    workspace: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    workspace: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>, {
    project: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    workspace: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>, z.ZodObject<{
    project: z.ZodObject<{
        channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
            channel: z.ZodString;
            priority: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            priority: number;
            channel: string;
        }, {
            priority: number;
            channel: string;
        }>]>, "many">>;
        'requires-pixi': z.ZodOptional<z.ZodString>;
        'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
    }, "strip", z.ZodTypeAny, {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    }, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    project: {
        channels: (string | {
            priority: number;
            channel: string;
        })[];
        'channel-priority': "disabled" | "strict";
        'requires-pixi'?: string | undefined;
    };
}, {
    project: {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
        'requires-pixi'?: string | undefined;
        'channel-priority'?: "disabled" | "strict" | undefined;
    };
}>]>, z.ZodObject<{
    feature: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        channels?: (string | {
            priority: number;
            channel: string;
        })[] | undefined;
    } & {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    }>, Record<string, any>>, {
        conda: PixiPackageDependency[];
        pypi: PixiPackageDependency[];
    }, Record<string, any>>>;
}, "strip", z.ZodTypeAny, {
    feature: {
        conda: PixiPackageDependency[];
        pypi: PixiPackageDependency[];
    };
}, {
    feature?: Record<string, any> | undefined;
}>>, z.ZodEffects<z.ZodObject<{
    dependencies: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        currentValue: string;
        versioning: string;
        datasource: string;
        channel: string | undefined;
    }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
    'pypi-dependencies': z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        currentValue: string;
        versioning: string;
        datasource: string;
    } | {
        currentValue: string | undefined;
        packageName: string;
        datasource: string;
        versioning: string;
        skipStage: "extract";
        skipReason: "unspecified-version";
    } | {
        currentValue: string;
        packageName: string;
        datasource: string;
        versioning: string;
        skipStage?: undefined;
        skipReason?: undefined;
    }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
    target: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
        dependencies: PackageDependency<Record<string, any>>[];
        'pypi-dependencies': PackageDependency<Record<string, any>>[];
    }>, Record<string, any>>, {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    }, Record<string, any>>>>;
}, "strip", z.ZodTypeAny, {
    target: {
        pypi: PixiPackageDependency[];
        conda: PixiPackageDependency[];
    };
    dependencies: PackageDependency<Record<string, any>>[];
    'pypi-dependencies': PackageDependency<Record<string, any>>[];
}, {
    target?: Record<string, any> | undefined;
    dependencies?: Record<string, any> | undefined;
    'pypi-dependencies'?: Record<string, any> | undefined;
}>, {
    pypi: PixiPackageDependency[];
    conda: PixiPackageDependency[];
}, {
    target?: Record<string, any> | undefined;
    dependencies?: Record<string, any> | undefined;
    'pypi-dependencies'?: Record<string, any> | undefined;
}>>>;
export declare const PixiPyProject: z.ZodPipeline<z.ZodEffects<z.ZodString, unknown, string>, 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<z.ZodType<PackageDependency<Record<string, any>>[], z.ZodTypeDef, PackageDependency<Record<string, any>>[]>>;
    }, "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<z.ZodType<PackageDependency<Record<string, any>>[], z.ZodTypeDef, PackageDependency<Record<string, any>>[]>>;
} & {
    tool: z.ZodCatch<z.ZodOptional<z.ZodObject<{
        pixi: z.ZodCatch<z.ZodOptional<z.ZodIntersection<z.ZodIntersection<z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            workspace: z.ZodObject<{
                channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    channel: z.ZodString;
                    priority: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    priority: number;
                    channel: string;
                }, {
                    priority: number;
                    channel: string;
                }>]>, "many">>;
                'requires-pixi': z.ZodOptional<z.ZodString>;
                'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
            }, "strip", z.ZodTypeAny, {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            }, {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
                'requires-pixi'?: string | undefined;
                'channel-priority'?: "disabled" | "strict" | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            workspace: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        }, {
            workspace: {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
                'requires-pixi'?: string | undefined;
                'channel-priority'?: "disabled" | "strict" | undefined;
            };
        }>, {
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        }, {
            workspace: {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
                'requires-pixi'?: string | undefined;
                'channel-priority'?: "disabled" | "strict" | undefined;
            };
        }>, z.ZodObject<{
            project: z.ZodObject<{
                channels: z.ZodDefault<z.ZodArray<z.ZodUnion<[z.ZodString, z.ZodObject<{
                    channel: z.ZodString;
                    priority: z.ZodNumber;
                }, "strip", z.ZodTypeAny, {
                    priority: number;
                    channel: string;
                }, {
                    priority: number;
                    channel: string;
                }>]>, "many">>;
                'requires-pixi': z.ZodOptional<z.ZodString>;
                'channel-priority': z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"strict">, z.ZodLiteral<"disabled">]>>;
            }, "strip", z.ZodTypeAny, {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            }, {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
                'requires-pixi'?: string | undefined;
                'channel-priority'?: "disabled" | "strict" | undefined;
            }>;
        }, "strip", z.ZodTypeAny, {
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        }, {
            project: {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
                'requires-pixi'?: string | undefined;
                'channel-priority'?: "disabled" | "strict" | undefined;
            };
        }>]>, z.ZodObject<{
            feature: z.ZodDefault<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                channels?: (string | {
                    priority: number;
                    channel: string;
                })[] | undefined;
            } & {
                pypi: PixiPackageDependency[];
                conda: PixiPackageDependency[];
            }>, Record<string, any>>, {
                conda: PixiPackageDependency[];
                pypi: PixiPackageDependency[];
            }, Record<string, any>>>;
        }, "strip", z.ZodTypeAny, {
            feature: {
                conda: PixiPackageDependency[];
                pypi: PixiPackageDependency[];
            };
        }, {
            feature?: Record<string, any> | undefined;
        }>>, z.ZodEffects<z.ZodObject<{
            dependencies: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                currentValue: string;
                versioning: string;
                datasource: string;
                channel: string | undefined;
            }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
            'pypi-dependencies': z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                currentValue: string;
                versioning: string;
                datasource: string;
            } | {
                currentValue: string | undefined;
                packageName: string;
                datasource: string;
                versioning: string;
                skipStage: "extract";
                skipReason: "unspecified-version";
            } | {
                currentValue: string;
                packageName: string;
                datasource: string;
                versioning: string;
                skipStage?: undefined;
                skipReason?: undefined;
            }>, Record<string, any>>, PackageDependency<Record<string, any>>[], Record<string, any>>>>;
            target: z.ZodDefault<z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodRecord<z.ZodString, z.ZodAny>, Record<string, {
                dependencies: PackageDependency<Record<string, any>>[];
                'pypi-dependencies': PackageDependency<Record<string, any>>[];
            }>, Record<string, any>>, {
                pypi: PixiPackageDependency[];
                conda: PixiPackageDependency[];
            }, Record<string, any>>>>;
        }, "strip", z.ZodTypeAny, {
            target: {
                pypi: PixiPackageDependency[];
                conda: PixiPackageDependency[];
            };
            dependencies: PackageDependency<Record<string, any>>[];
            'pypi-dependencies': PackageDependency<Record<string, any>>[];
        }, {
            target?: Record<string, any> | undefined;
            dependencies?: Record<string, any> | undefined;
            'pypi-dependencies'?: Record<string, any> | undefined;
        }>, {
            pypi: PixiPackageDependency[];
            conda: PixiPackageDependency[];
        }, {
            target?: Record<string, any> | undefined;
            dependencies?: Record<string, any> | undefined;
            'pypi-dependencies'?: Record<string, any> | undefined;
        }>>>>;
    }, "strip", z.ZodTypeAny, {
        pixi?: ((({
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        } | {
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        }) & {
            feature: {
                conda: PixiPackageDependency[];
                pypi: PixiPackageDependency[];
            };
        }) & {
            pypi: PixiPackageDependency[];
            conda: PixiPackageDependency[];
        }) | undefined;
    }, {
        pixi?: 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?: {
        pixi?: ((({
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        } | {
            project: {
                channels: (string | {
                    priority: number;
                    channel: string;
                })[];
                'channel-priority': "disabled" | "strict";
                'requires-pixi'?: string | undefined;
            };
        }) & {
            feature: {
                conda: PixiPackageDependency[];
                pypi: PixiPackageDependency[];
            };
        }) & {
            pypi: PixiPackageDependency[];
            conda: PixiPackageDependency[];
        }) | 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 declare const Lockfile: z.ZodPipeline<z.ZodEffects<z.ZodString, string | number | boolean | import("type-fest").JsonObject | import("type-fest").JsonValue[] | readonly import("type-fest").JsonValue[] | null, string>, z.ZodObject<{
    version: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    version: number;
}, {
    version: number;
}>>;
export {};
