import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ContentAPI from 'cloudflare/resources/workers/scripts/content';
import * as ScriptsAPI from 'cloudflare/resources/workers/scripts/scripts';
import { type Uploadable } from 'cloudflare/core';
export declare class Content extends APIResource {
    /**
     * Put script content without touching config or metadata
     */
    update(scriptName: string, params: ContentUpdateParams, options?: Core.RequestOptions): Core.APIPromise<ScriptsAPI.WorkersScript>;
}
export interface ContentUpdateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: A module comprising a Worker script, often a javascript file.
     * Multiple modules may be provided as separate named parts, but at least one
     * module must be present. This should be referenced either in the metadata as
     * `main_module` (esm)/`body_part` (service worker) or as a header
     * `CF-WORKER-MAIN-MODULE-PART` (esm) /`CF-WORKER-BODY-PART` (service worker) by
     * part name.
     */
    '<any part name>'?: Array<Uploadable>;
    /**
     * Body param: JSON encoded metadata about the uploaded parts and Worker
     * configuration.
     */
    metadata?: ContentUpdateParams.Metadata;
    /**
     * Header param: The multipart name of a script upload part containing script
     * content in service worker format. Alternative to including in a metadata part.
     */
    'CF-WORKER-BODY-PART'?: string;
    /**
     * Header param: The multipart name of a script upload part containing script
     * content in es module format. Alternative to including in a metadata part.
     */
    'CF-WORKER-MAIN-MODULE-PART'?: string;
}
export declare namespace ContentUpdateParams {
    /**
     * JSON encoded metadata about the uploaded parts and Worker configuration.
     */
    interface Metadata {
        /**
         * Name of the part in the multipart request that contains the script (e.g. the
         * file adding a listener to the `fetch` event). Indicates a
         * `service worker syntax` Worker.
         */
        body_part?: string;
        /**
         * Name of the part in the multipart request that contains the main module (e.g.
         * the file exporting a `fetch` handler). Indicates a `module syntax` Worker.
         */
        main_module?: string;
    }
}
export declare namespace Content {
    export import ContentUpdateParams = ContentAPI.ContentUpdateParams;
}
//# sourceMappingURL=content.d.ts.map