import * as Core from 'cloudflaredev/core';
import { APIResource } from 'cloudflaredev/resource';
import * as NamespacesAPI from 'cloudflaredev/resources/workers-for-platforms/dispatch/namespaces/namespaces';
import * as ScriptsAPI from 'cloudflaredev/resources/workers-for-platforms/dispatch/namespaces/scripts/scripts';
import { SinglePage } from 'cloudflaredev/pagination';
export declare class Namespaces extends APIResource {
    scripts: ScriptsAPI.Scripts;
    /**
     * Create a new Workers for Platforms namespace.
     */
    create(params: NamespaceCreateParams, options?: Core.RequestOptions): Core.APIPromise<NamespaceCreateResponse>;
    /**
     * Fetch a list of Workers for Platforms namespaces.
     */
    list(params: NamespaceListParams, options?: Core.RequestOptions): Core.PagePromise<NamespaceListResponsesSinglePage, NamespaceListResponse>;
    /**
     * Delete a Workers for Platforms namespace.
     */
    delete(dispatchNamespace: string, params: NamespaceDeleteParams, options?: Core.RequestOptions): Core.APIPromise<NamespaceDeleteResponse | null>;
    /**
     * Get a Workers for Platforms namespace.
     */
    get(dispatchNamespace: string, params: NamespaceGetParams, options?: Core.RequestOptions): Core.APIPromise<NamespaceGetResponse>;
}
export declare class NamespaceListResponsesSinglePage extends SinglePage<NamespaceListResponse> {
}
export interface NamespaceCreateResponse {
    /**
     * Identifier
     */
    created_by?: string;
    /**
     * When the script was created.
     */
    created_on?: string;
    /**
     * Identifier
     */
    modified_by?: string;
    /**
     * When the script was last modified.
     */
    modified_on?: string;
    /**
     * API Resource UUID tag.
     */
    namespace_id?: string;
    /**
     * Name of the Workers for Platforms dispatch namespace.
     */
    namespace_name?: string;
    /**
     * The current number of scripts in this Dispatch Namespace
     */
    script_count?: number;
}
export interface NamespaceListResponse {
    /**
     * Identifier
     */
    created_by?: string;
    /**
     * When the script was created.
     */
    created_on?: string;
    /**
     * Identifier
     */
    modified_by?: string;
    /**
     * When the script was last modified.
     */
    modified_on?: string;
    /**
     * API Resource UUID tag.
     */
    namespace_id?: string;
    /**
     * Name of the Workers for Platforms dispatch namespace.
     */
    namespace_name?: string;
    /**
     * The current number of scripts in this Dispatch Namespace
     */
    script_count?: number;
}
export type NamespaceDeleteResponse = unknown;
export interface NamespaceGetResponse {
    /**
     * Identifier
     */
    created_by?: string;
    /**
     * When the script was created.
     */
    created_on?: string;
    /**
     * Identifier
     */
    modified_by?: string;
    /**
     * When the script was last modified.
     */
    modified_on?: string;
    /**
     * API Resource UUID tag.
     */
    namespace_id?: string;
    /**
     * Name of the Workers for Platforms dispatch namespace.
     */
    namespace_name?: string;
    /**
     * The current number of scripts in this Dispatch Namespace
     */
    script_count?: number;
}
export interface NamespaceCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param: The name of the dispatch namespace
     */
    name?: string;
}
export interface NamespaceListParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface NamespaceDeleteParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface NamespaceGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Namespaces {
    export import NamespaceCreateResponse = NamespacesAPI.NamespaceCreateResponse;
    export import NamespaceListResponse = NamespacesAPI.NamespaceListResponse;
    export import NamespaceDeleteResponse = NamespacesAPI.NamespaceDeleteResponse;
    export import NamespaceGetResponse = NamespacesAPI.NamespaceGetResponse;
    export import NamespaceListResponsesSinglePage = NamespacesAPI.NamespaceListResponsesSinglePage;
    export import NamespaceCreateParams = NamespacesAPI.NamespaceCreateParams;
    export import NamespaceListParams = NamespacesAPI.NamespaceListParams;
    export import NamespaceDeleteParams = NamespacesAPI.NamespaceDeleteParams;
    export import NamespaceGetParams = NamespacesAPI.NamespaceGetParams;
    export import Scripts = ScriptsAPI.Scripts;
    export import Script = ScriptsAPI.Script;
    export import ScriptUpdateParams = ScriptsAPI.ScriptUpdateParams;
    export import ScriptDeleteParams = ScriptsAPI.ScriptDeleteParams;
    export import ScriptGetParams = ScriptsAPI.ScriptGetParams;
}
//# sourceMappingURL=namespaces.d.ts.map