import type { StorageHostname as StorageZoneEndpoint } from "../../../api/storage-zone/types"; export interface UploadFileRequest { /** * The hex-encoded SHA256 checksum of the uploaded content. The server will compare the final SHA256 to the checksum and reject the request in case the checksums do not match. * @example "49bc20df15e412a64472421e13fe86ff1c5165e18b2afccf160d4dc19fe68a14" */ checksum?: string; /** * Raw request body should contain the contents of the file. This should be raw file data without any sort of encoding. * * Converting a Buffer to an ArrayBuffer safely: * @example * ```ts * const buffer = Buffer.from("Hello World"); * const arrayBuffer = buffer.buffer.slice( * buffer.byteOffset, * buffer.byteOffset + buffer.byteLength * ); * const string = Buffer.from(arrayBuffer).toString(); * ``` * * Converting a String to an ArrayBuffer safely: * @example * ```ts * const textEncoder = new TextEncoder(); // Always utf-8 * const textDecoder = new TextDecoder("utf-8"); * * const uint8Array = textEncoder.encode("Hello World"); * const arrayBuffer = uint8Array.buffer.slice( * uint8Array.byteOffset, * uint8Array.byteLength + uint8Array.byteOffset, * ); * const string = textDecoder.decode(arrayBuffer); * ``` */ file: ArrayBuffer; /** * The name that the file will be uploaded as. * @example "demo.sqlite" */ fileName: string; /** * The directory path to where your file will be stored. If this is the root of your storage zone, you can ignore this parameter. * @example "subpath" */ path?: string; /** * The storage API endpoint depends on the primary storage region of your storage zone. You can also find this in the FTP & HTTP API Information of your storage zone. * @example "ny.storage.bunnycdn.com" */ storageZoneEndpoint?: StorageZoneEndpoint; /** * The name of your storage zone where you are connecting to. * @example "example-storage-zone" */ storageZoneName?: string; /** * The storage zone password * @example "22a5e2c4-0b5f-4fb0-bdb94eebb264-8944-4154" */ storageZonePassword?: string; } export type UploadFileResponse = void; export declare const uploadFile: import("untypeable/dist/client-ca591958").g; export declare const uploadFileEndpoints: { readonly "PUT /:storageZoneName/:path/:fileName": "PUT /:storageZoneName/:path/:fileName"; readonly uploadFile: "uploadFile"; }; export declare function uploadFileClient(defaultRequestInit: RequestInit, { file, fileName, path, storageZoneEndpoint, storageZoneName, storageZonePassword, }: UploadFileRequest): Promise; //# sourceMappingURL=uploadFile.d.ts.map