/// <reference types="node" />
import { z } from 'zod';
/**
 * Type representing a file in Node environment
 */
declare const NodeFileSchema: z.ZodObject<{
    buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    buffer: Buffer;
    name?: string | undefined;
}, {
    buffer: Buffer;
    name?: string | undefined;
}>;
export type NodeFile = z.infer<typeof NodeFileSchema>;
declare const BrowserFileSchema: z.ZodType<File, z.ZodTypeDef, File>;
export type BrowserFile = z.infer<typeof BrowserFileSchema>;
/**
 * Type representing a file in Node and browser environments
 */
export declare const CrossPlatformFileSchema: z.ZodUnion<[z.ZodObject<{
    buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    buffer: Buffer;
    name?: string | undefined;
}, {
    buffer: Buffer;
    name?: string | undefined;
}>, z.ZodType<File, z.ZodTypeDef, File>]>;
export type CrossPlatformFile = z.infer<typeof CrossPlatformFileSchema>;
export declare const isNodeFile: (file: CrossPlatformFile) => file is {
    buffer: Buffer;
    name?: string | undefined;
};
export declare const ALLOWED_IMAGE_MIME_TYPES: string[];
export declare const ALLOWED_AUDIO_MIME_TYPES: string[];
export declare const ImageFile: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
    buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    buffer: Buffer;
    name?: string | undefined;
}, {
    buffer: Buffer;
    name?: string | undefined;
}>, z.ZodType<File, z.ZodTypeDef, File>]>, File | {
    buffer: Buffer;
    name?: string | undefined;
}, File | {
    buffer: Buffer;
    name?: string | undefined;
}>;
export declare const AudioFile: z.ZodEffects<z.ZodUnion<[z.ZodObject<{
    buffer: z.ZodType<Buffer, z.ZodTypeDef, Buffer>;
    name: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    buffer: Buffer;
    name?: string | undefined;
}, {
    buffer: Buffer;
    name?: string | undefined;
}>, z.ZodType<File, z.ZodTypeDef, File>]>, File | {
    buffer: Buffer;
    name?: string | undefined;
}, File | {
    buffer: Buffer;
    name?: string | undefined;
}>;
export {};
