import { OneOrMany, SourceRecord } from "../source.js";
import { z } from "zod";

//#region src/lib/sources/rust-cargo-toml.d.ts
declare const cargoTomlSchema: z.ZodObject<{
  authors: z.ZodArray<z.ZodObject<{
    email: z.ZodOptional<z.ZodString>;
    name: z.ZodString;
  }, z.core.$strip>>;
  buildDependencies: z.ZodArray<z.ZodObject<{
    name: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>;
  categories: z.ZodPipe<z.ZodTransform<string[], unknown>, z.ZodArray<z.ZodString>>;
  dependencies: z.ZodArray<z.ZodObject<{
    name: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>;
  description: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  devDependencies: z.ZodArray<z.ZodObject<{
    name: z.ZodString;
    version: z.ZodOptional<z.ZodString>;
  }, z.core.$strip>>;
  documentation: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  edition: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  homepage: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  keywords: z.ZodPipe<z.ZodTransform<string[], unknown>, z.ZodArray<z.ZodString>>;
  license: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  licenseFile: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  name: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  readme: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  repository: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  rustVersion: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  version: z.ZodPipe<z.ZodTransform<string | undefined, unknown>, z.ZodOptional<z.ZodString>>;
  workspaceMembers: z.ZodPipe<z.ZodTransform<string[], unknown>, z.ZodArray<z.ZodString>>;
}, z.core.$strip>;
type CargoToml = z.infer<typeof cargoTomlSchema>;
type RustCargoTomlData = OneOrMany<SourceRecord<CargoToml>> | undefined;
//#endregion
export { RustCargoTomlData };