import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as SettingsAPI from 'cloudflaredev/resources/workers-for-platforms/dispatch/namespaces/scripts/settings';
import * as WorkersAPI from 'cloudflaredev/resources/workers/workers';
import * as TailAPI from 'cloudflaredev/resources/workers/scripts/tail';
export declare class Settings extends APIResource {
    /**
     * Patch script metadata, such as bindings
     */
    edit(dispatchNamespace: string, scriptName: string, params: SettingEditParams, options?: Core.RequestOptions): Core.APIPromise<SettingEditResponse>;
    /**
     * Get script settings from a script uploaded to a Workers for Platforms namespace.
     */
    get(dispatchNamespace: string, scriptName: string, params: SettingGetParams, options?: Core.RequestOptions): Core.APIPromise<SettingGetResponse>;
}
export interface SettingEditResponse {
    /**
     * List of bindings attached to this Worker
     */
    bindings?: Array<WorkersAPI.Binding>;
    /**
     * Opt your Worker into changes after this date
     */
    compatibility_date?: string;
    /**
     * Opt your Worker into specific changes
     */
    compatibility_flags?: Array<string>;
    /**
     * Limits to apply for this Worker.
     */
    limits?: SettingEditResponse.Limits;
    /**
     * Whether Logpush is turned on for the Worker.
     */
    logpush?: boolean;
    /**
     * Migrations to apply for Durable Objects associated with this Worker.
     */
    migrations?: WorkersAPI.SingleStepMigration | WorkersAPI.SteppedMigration;
    placement?: WorkersAPI.PlacementConfiguration;
    /**
     * Tags to help you manage your Workers
     */
    tags?: Array<string>;
    /**
     * List of Workers that will consume logs from the attached Worker.
     */
    tail_consumers?: Array<TailAPI.ConsumerScript>;
    /**
     * Specifies the usage model for the Worker (e.g. 'bundled' or 'unbound').
     */
    usage_model?: string;
}
export declare namespace SettingEditResponse {
    /**
     * Limits to apply for this Worker.
     */
    interface Limits {
        /**
         * The amount of CPU time this Worker can use in milliseconds.
         */
        cpu_ms?: number;
    }
}
export interface SettingGetResponse {
    /**
     * List of bindings attached to this Worker
     */
    bindings?: Array<WorkersAPI.Binding>;
    /**
     * Opt your Worker into changes after this date
     */
    compatibility_date?: string;
    /**
     * Opt your Worker into specific changes
     */
    compatibility_flags?: Array<string>;
    /**
     * Limits to apply for this Worker.
     */
    limits?: SettingGetResponse.Limits;
    /**
     * Whether Logpush is turned on for the Worker.
     */
    logpush?: boolean;
    /**
     * Migrations to apply for Durable Objects associated with this Worker.
     */
    migrations?: WorkersAPI.SingleStepMigration | WorkersAPI.SteppedMigration;
    placement?: WorkersAPI.PlacementConfiguration;
    /**
     * Tags to help you manage your Workers
     */
    tags?: Array<string>;
    /**
     * List of Workers that will consume logs from the attached Worker.
     */
    tail_consumers?: Array<TailAPI.ConsumerScript>;
    /**
     * Specifies the usage model for the Worker (e.g. 'bundled' or 'unbound').
     */
    usage_model?: string;
}
export declare namespace SettingGetResponse {
    /**
     * Limits to apply for this Worker.
     */
    interface Limits {
        /**
         * The amount of CPU time this Worker can use in milliseconds.
         */
        cpu_ms?: number;
    }
}
export interface SettingEditParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    settings?: SettingEditParams.Settings;
}
export declare namespace SettingEditParams {
    interface Settings {
        /**
         * List of bindings attached to this Worker
         */
        bindings?: Array<WorkersAPI.BindingParam>;
        /**
         * Opt your Worker into changes after this date
         */
        compatibility_date?: string;
        /**
         * Opt your Worker into specific changes
         */
        compatibility_flags?: Array<string>;
        /**
         * Limits to apply for this Worker.
         */
        limits?: Settings.Limits;
        /**
         * Whether Logpush is turned on for the Worker.
         */
        logpush?: boolean;
        /**
         * Migrations to apply for Durable Objects associated with this Worker.
         */
        migrations?: WorkersAPI.SingleStepMigrationParam | WorkersAPI.SteppedMigrationParam;
        placement?: WorkersAPI.PlacementConfigurationParam;
        /**
         * Tags to help you manage your Workers
         */
        tags?: Array<string>;
        /**
         * List of Workers that will consume logs from the attached Worker.
         */
        tail_consumers?: Array<TailAPI.ConsumerScriptParam>;
        /**
         * Specifies the usage model for the Worker (e.g. 'bundled' or 'unbound').
         */
        usage_model?: string;
    }
    namespace Settings {
        /**
         * Limits to apply for this Worker.
         */
        interface Limits {
            /**
             * The amount of CPU time this Worker can use in milliseconds.
             */
            cpu_ms?: number;
        }
    }
}
export interface SettingGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Settings {
    export import SettingEditResponse = SettingsAPI.SettingEditResponse;
    export import SettingGetResponse = SettingsAPI.SettingGetResponse;
    export import SettingEditParams = SettingsAPI.SettingEditParams;
    export import SettingGetParams = SettingsAPI.SettingGetParams;
}
//# sourceMappingURL=settings.d.ts.map