import { GGSchema, GGSchemaNonJsonDefinition, GGIssueInvalid, Opt } from "@grest-ts/schema"; import type { GGSchemaNodeKind } from "@grest-ts/schema"; import { GGFile } from "./GGFile"; /** * Definition for file schema. */ export interface FileDef extends GGSchemaNonJsonDefinition { readonly type: 'file'; readonly accept?: readonly string[]; readonly maxSize?: number; } export declare class FileSchema extends GGSchema { static readonly typeError: GGIssueInvalid<{}>; static readonly mimeTypeError: GGIssueInvalid<{ accept: string; }>; static readonly maxSizeError: GGIssueInvalid<{ max: number; }>; constructor(def: { type: 'file'; accept?: readonly string[]; maxSize?: number; optional?: boolean; nullable?: boolean; docs?: import("@grest-ts/schema").GGSchemaDocs; }); get orUndefined(): FileSchema & Opt; get orNull(): FileSchema; protected _buildDerived(changes: Partial): FileSchema; protected _buildSchemaNode(): GGSchemaNodeKind; accept(...types: string[]): FileSchema; maxSize(bytes: number): FileSchema; static image(opts?: { maxSize?: number; }): FileSchema; static pdf(opts?: { maxSize?: number; }): FileSchema; static any(opts?: { maxSize?: number; }): FileSchema; static video(opts?: { maxSize?: number; }): FileSchema; static audio(opts?: { maxSize?: number; }): FileSchema; } export declare const IsFile: FileSchema; export type tFile = typeof IsFile.infer; //# sourceMappingURL=IsFile.d.ts.map