/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 * @generated-id: 8effbaf4eca6
 */
import * as z from "zod/v4";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { FilePurpose$inboundSchema } from "./filepurpose.js";
import { FileVisibility$inboundSchema, } from "./filevisibility.js";
import { SampleType$inboundSchema } from "./sampletype.js";
import { Source$inboundSchema } from "./source.js";
/** @internal */
export const GetFileResponse$inboundSchema = z.object({
    id: z.string(),
    object: z.string(),
    bytes: z.int(),
    created_at: z.int(),
    filename: z.string(),
    purpose: FilePurpose$inboundSchema,
    sample_type: SampleType$inboundSchema,
    num_lines: z.nullable(z.int()).optional(),
    mimetype: z.nullable(z.string()).optional(),
    source: Source$inboundSchema,
    signature: z.nullable(z.string()).optional(),
    expires_at: z.nullable(z.int()).optional(),
    visibility: z.nullable(FileVisibility$inboundSchema).optional(),
    deleted: z.boolean(),
}).transform((v) => {
    return remap$(v, {
        "bytes": "sizeBytes",
        "created_at": "createdAt",
        "sample_type": "sampleType",
        "num_lines": "numLines",
        "expires_at": "expiresAt",
    });
});
export function getFileResponseFromJSON(jsonString) {
    return safeParse(jsonString, (x) => GetFileResponse$inboundSchema.parse(JSON.parse(x)), `Failed to parse 'GetFileResponse' from JSON`);
}
//# sourceMappingURL=getfileresponse.js.map