import { SDKCore } from "../core.js"; import { RequestOptions } from "../lib/sdks.js"; import { ConnectionError, InvalidRequestError, RequestAbortedError, RequestTimeoutError, UnexpectedClientError } from "../sdk/models/errors/httpclienterrors.js"; import { SDKError } from "../sdk/models/errors/sdkerror.js"; import { SDKValidationError } from "../sdk/models/errors/sdkvalidationerror.js"; import * as operations from "../sdk/models/operations/index.js"; import { Result } from "../sdk/types/fp.js"; /** * Initiates a direct external upload * * @remarks * Direct external uploads bypass the usual method of creating uploads * via the POST /uploads route, and upload directly to an external provider, * which by default is S3. This route begins the process, and will return * a unique identifier for the external upload as well as a presigned URL * which is where the file binary blob should be uploaded to. * * Once the upload is complete to the external service, you must call the * POST /complete-external-upload route using the unique identifier returned * by this route, which will create any required Upload record in the Discourse * database and also move file from its temporary location to the final * destination in the external storage service. * * You must have the correct permissions and CORS settings configured in your * external provider. We support AWS S3 as the default. See: * * https://meta.discourse.org/t/-/210469#s3-multipart-direct-uploads-4. * * An external file store must be set up and `enable_direct_s3_uploads` must * be set to true for this endpoint to function. */ export declare function uploadsGeneratePresignedPut(client$: SDKCore, request?: operations.GeneratePresignedPutRequestBody | undefined, options?: RequestOptions): Promise>; //# sourceMappingURL=uploadsGeneratePresignedPut.d.ts.map