import { APIResource } from "../../../core/resource.mjs";
import { APIPromise } from "../../../core/api-promise.mjs";
import { RequestOptions } from "../../../internal/request-options.mjs";
export declare class BaseSubdomain extends APIResource {
    static readonly _key: readonly ['workers', 'scripts', 'subdomain'];
    /**
     * Enable or disable a Worker script on the workers.dev subdomain.
     *
     * @example
     * ```ts
     * const subdomain =
     *   await client.workers.scripts.subdomain.create(
     *     'this-is_my_script-01',
     *     {
     *       account_id: '023e105f4ecef8ad9ca31a8372d0c353',
     *       enabled: true,
     *     },
     *   );
     * ```
     */
    create(scriptName: string, params: SubdomainCreateParams, options?: RequestOptions): APIPromise<SubdomainCreateResponse>;
    /**
     * Disable all workers.dev subdomains for a Worker script.
     *
     * @example
     * ```ts
     * const subdomain =
     *   await client.workers.scripts.subdomain.delete(
     *     'this-is_my_script-01',
     *     { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     *   );
     * ```
     */
    delete(scriptName: string, params: SubdomainDeleteParams, options?: RequestOptions): APIPromise<SubdomainDeleteResponse>;
    /**
     * Get whether a Worker script is available on the workers.dev subdomain.
     *
     * @example
     * ```ts
     * const subdomain =
     *   await client.workers.scripts.subdomain.get(
     *     'this-is_my_script-01',
     *     { account_id: '023e105f4ecef8ad9ca31a8372d0c353' },
     *   );
     * ```
     */
    get(scriptName: string, params: SubdomainGetParams, options?: RequestOptions): APIPromise<SubdomainGetResponse>;
}
export declare class Subdomain extends BaseSubdomain {
}
export interface SubdomainCreateResponse {
    /**
     * Whether the Worker is available on the workers.dev subdomain.
     */
    enabled: boolean;
    /**
     * Whether the Worker's Preview URLs are available on the workers.dev subdomain.
     */
    previews_enabled: boolean;
}
export interface SubdomainDeleteResponse {
    /**
     * Whether the Worker is available on the workers.dev subdomain.
     */
    enabled: boolean;
    /**
     * Whether the Worker's Preview URLs are available on the workers.dev subdomain.
     */
    previews_enabled: boolean;
}
export interface SubdomainGetResponse {
    /**
     * Whether the Worker is available on the workers.dev subdomain.
     */
    enabled: boolean;
    /**
     * Whether the Worker's Preview URLs are available on the workers.dev subdomain.
     */
    previews_enabled: boolean;
}
export interface SubdomainCreateParams {
    /**
     * Path param: Identifier.
     */
    account_id: string;
    /**
     * Body param: Whether the Worker should be available on the workers.dev subdomain.
     */
    enabled: boolean;
    /**
     * Body param: Whether the Worker's Preview URLs should be available on the
     * workers.dev subdomain.
     */
    previews_enabled?: boolean;
}
export interface SubdomainDeleteParams {
    /**
     * Identifier.
     */
    account_id: string;
}
export interface SubdomainGetParams {
    /**
     * Identifier.
     */
    account_id: string;
}
export declare namespace Subdomain {
    export { type SubdomainCreateResponse as SubdomainCreateResponse, type SubdomainDeleteResponse as SubdomainDeleteResponse, type SubdomainGetResponse as SubdomainGetResponse, type SubdomainCreateParams as SubdomainCreateParams, type SubdomainDeleteParams as SubdomainDeleteParams, type SubdomainGetParams as SubdomainGetParams, };
}
//# sourceMappingURL=subdomain.d.mts.map