import type { BaseClientOptions, BaseRequestOptions } from "../../../../BaseClient.js"; import { type NormalizedClientOptionsWithAuth } from "../../../../BaseClient.js"; import * as core from "../../../../core/index.js"; import * as Hedra from "../../../index.js"; export declare namespace FilesClient { type Options = BaseClientOptions; interface RequestOptions extends BaseRequestOptions { } } export declare class FilesClient { protected readonly _options: NormalizedClientOptionsWithAuth; constructor(options?: FilesClient.Options); /** * Store a file and return a short-lived URL to pass in a model's `input`. * * Free, and available on an empty API wallet — funding is enforced when you * submit a generation, not when you upload its inputs. `GET /v3/balance` * reports what the wallet holds. * * Returns 402 while uploads are paused, which happens when your recent * requests were all refused for insufficient funds. Adding funds to the API * wallet resumes them. * * @param {Hedra.FilesUploadRequest} request * @param {FilesClient.RequestOptions} requestOptions - Request-specific configuration. * * @throws {@link Hedra.BadRequestError} * @throws {@link Hedra.UnauthorizedError} * @throws {@link Hedra.PaymentRequiredError} * @throws {@link Hedra.ForbiddenError} * @throws {@link Hedra.NotFoundError} * @throws {@link Hedra.TooManyRequestsError} * @throws {@link Hedra.InternalServerError} * @throws {@link errors.HedraError} * @throws {@link errors.HedraTimeoutError} * * @example * import { createReadStream } from "fs"; * await client.files.upload({ * file: fs.createReadStream("/path/to/your/file") * }) */ upload(request: Hedra.FilesUploadRequest, requestOptions?: FilesClient.RequestOptions): core.HttpResponsePromise; private __upload; }