import { Client } from "../client.cjs";
import { IteratorWithPromise, UploadChunkEvent } from "../uploadChunks.cjs";
import { z } from "zod";

//#region src/resources/image-file.d.ts
declare const ImageFileMimeTypes: z.ZodEnum<["image/jpeg", "image/png", "image/jpg", "image/webp", "image/svg+xml"]>;
declare const CreateImageFilePayload: z.ZodEffects<z.ZodObject<{
  /**
   * The md5 hash of the image file.
   */
  md5: z.ZodOptional<z.ZodString>;
  /**
   * The height of the image file in pixels.
   */
  height: z.ZodOptional<z.ZodNumber>;
  /**
   * The width of the image file in pixels.
   */
  width: z.ZodOptional<z.ZodNumber>;
  /**
   * The mime type of the image file. Optional if the filename has a known file extension.
   */
  mime_type: z.ZodOptional<z.ZodEnum<["image/jpeg", "image/png", "image/jpg", "image/webp", "image/svg+xml"]>>;
  /**
   * The filename of the image file.
   */
  filename: z.ZodString;
  /**
   * The byte size of the image file.
   */
  byte_size: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
  filename: string;
  byte_size: number;
  md5?: string | undefined;
  height?: number | undefined;
  width?: number | undefined;
  mime_type?: "image/jpeg" | "image/png" | "image/jpg" | "image/webp" | "image/svg+xml" | undefined;
}, {
  filename: string;
  byte_size: number;
  md5?: string | undefined;
  height?: number | undefined;
  width?: number | undefined;
  mime_type?: "image/jpeg" | "image/png" | "image/jpg" | "image/webp" | "image/svg+xml" | undefined;
}>, {
  filename: string;
  byte_size: number;
  md5?: string | undefined;
  height?: number | undefined;
  width?: number | undefined;
  mime_type?: "image/jpeg" | "image/png" | "image/jpg" | "image/webp" | "image/svg+xml" | undefined;
}, {
  filename: string;
  byte_size: number;
  md5?: string | undefined;
  height?: number | undefined;
  width?: number | undefined;
  mime_type?: "image/jpeg" | "image/png" | "image/jpg" | "image/webp" | "image/svg+xml" | undefined;
}>;
type CreateImageFilePayload = z.infer<typeof CreateImageFilePayload>;
/** @deprecated Use the unified file API from ./file.js instead */
interface CreateImageFileResult {
  /**
   * Whether the image file has been fully uploaded.
   */
  complete: boolean | null;
  /**
   * The byte size of the image file.
   */
  byte_size: number;
  /**
   * The id of the image file.
   */
  id: string;
  /**
   * The md5 hash of the image file.
   */
  md5: string | null;
}
/** @deprecated Use the unified file API from ./file.js instead */
interface LookupImageFileByMd5Result {
  /**
   * Whether the image file has been fully uploaded.
   */
  complete: boolean | null;
  /**
   * The byte size of the image file.
   */
  byte_size: number;
  /**
   * The id of the image file.
   */
  id: string;
  /**
   * md5 hash of the image file.
   */
  md5: string | null;
  /**
   * The height of the image file in pixels.
   */
  height: number | null;
  /**
   * The width of the image file in pixels.
   */
  width: number | null;
}
/** @deprecated Use the unified file API from ./file.js instead */
interface GetImageFileMetadataResult extends LookupImageFileByMd5Result {}
/** @deprecated Use the unified file API from ./file.js instead */
declare const createImageFile: (client: Client, payload: CreateImageFilePayload) => Promise<CreateImageFileResult>;
/** @deprecated Use the unified file API from ./file.js instead */
declare const uploadImageFile: (client: Client, uploadDetails: {
  id: string;
  byte_size: number;
}, fileStream: ReadableStream, chunkSizeBytes?: number) => IteratorWithPromise<UploadChunkEvent>;
/** @deprecated Use the unified file API from ./file.js instead */
declare const getImageFileMetadata: (client: Client, id: string) => Promise<GetImageFileMetadataResult | null>;
/** @deprecated Use the unified file API from ./file.js instead */
declare const lookupImageFileByMd5: (client: Client, md5: string) => Promise<LookupImageFileByMd5Result | null>;
//#endregion
export { CreateImageFilePayload, CreateImageFileResult, GetImageFileMetadataResult, ImageFileMimeTypes, LookupImageFileByMd5Result, createImageFile, getImageFileMetadata, lookupImageFileByMd5, uploadImageFile };
//# sourceMappingURL=image-file.d.cts.map