import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import { type Response } from 'cloudflare/_shims/index';
import * as ContentScriptsAPI from 'cloudflare/resources/workers-for-platforms/dispatch/namespaces/scripts/content/scripts';
import * as ScriptsAPI from 'cloudflare/resources/workers/scripts/scripts';
import { type Uploadable } from 'cloudflare/core';
export declare class Scripts extends APIResource {
    /**
     * Put script content for a script uploaded to a Workers for Platforms namespace.
     */
    update(dispatchNamespace: string, scriptName: string, params: ScriptUpdateParams, options?: Core.RequestOptions): Core.APIPromise<ScriptsAPI.WorkersScript>;
    /**
     * Fetch script content from a script uploaded to a Workers for Platforms
     * namespace.
     */
    get(dispatchNamespace: string, scriptName: string, params: ScriptGetParams, options?: Core.RequestOptions): Core.APIPromise<Response>;
}
export interface ScriptUpdateParams {
    /**
     * 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?: ScriptUpdateParams.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 ScriptUpdateParams {
    /**
     * 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 interface ScriptGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Scripts {
    export import ScriptUpdateParams = ContentScriptsAPI.ScriptUpdateParams;
    export import ScriptGetParams = ContentScriptsAPI.ScriptGetParams;
}
//# sourceMappingURL=scripts.d.ts.map