import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as QueuesAPI from 'cloudflare/resources/queues/queues';
import * as ConsumersAPI from 'cloudflare/resources/queues/consumers';
export declare class Queues extends APIResource {
    consumers: ConsumersAPI.Consumers;
    /**
     * Creates a new queue.
     */
    create(params: QueueCreateParams, options?: Core.RequestOptions): Core.APIPromise<WorkersQueueCreated | null>;
    /**
     * Updates a queue.
     */
    update(name: string, params: QueueUpdateParams, options?: Core.RequestOptions): Core.APIPromise<WorkersQueueUpdated | null>;
    /**
     * Returns the queues owned by an account.
     */
    list(params: QueueListParams, options?: Core.RequestOptions): Core.APIPromise<QueueListResponse | null>;
    /**
     * Deletes a queue.
     */
    delete(name: string, params: QueueDeleteParams, options?: Core.RequestOptions): Core.APIPromise<QueueDeleteResponse | null>;
    /**
     * Get information about a specific queue.
     */
    get(name: string, params: QueueGetParams, options?: Core.RequestOptions): Core.APIPromise<WorkersQueue | null>;
}
export interface WorkersQueue {
    consumers?: unknown;
    consumers_total_count?: unknown;
    created_on?: unknown;
    modified_on?: unknown;
    producers?: unknown;
    producers_total_count?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface WorkersQueueCreated {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface WorkersQueueUpdated {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export type QueueListResponse = Array<WorkersQueue>;
export type QueueDeleteResponse = unknown | Array<unknown> | string;
export interface QueueCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    body: unknown;
}
export interface QueueUpdateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    body: unknown;
}
export interface QueueListParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface QueueDeleteParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface QueueGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace Queues {
    export import WorkersQueue = QueuesAPI.WorkersQueue;
    export import WorkersQueueCreated = QueuesAPI.WorkersQueueCreated;
    export import WorkersQueueUpdated = QueuesAPI.WorkersQueueUpdated;
    export import QueueListResponse = QueuesAPI.QueueListResponse;
    export import QueueDeleteResponse = QueuesAPI.QueueDeleteResponse;
    export import QueueCreateParams = QueuesAPI.QueueCreateParams;
    export import QueueUpdateParams = QueuesAPI.QueueUpdateParams;
    export import QueueListParams = QueuesAPI.QueueListParams;
    export import QueueDeleteParams = QueuesAPI.QueueDeleteParams;
    export import QueueGetParams = QueuesAPI.QueueGetParams;
    export import Consumers = ConsumersAPI.Consumers;
    export import WorkersConsumer = ConsumersAPI.WorkersConsumer;
    export import WorkersConsumerCreated = ConsumersAPI.WorkersConsumerCreated;
    export import WorkersConsumerUpdated = ConsumersAPI.WorkersConsumerUpdated;
    export import ConsumerDeleteResponse = ConsumersAPI.ConsumerDeleteResponse;
    export import ConsumerGetResponse = ConsumersAPI.ConsumerGetResponse;
    export import ConsumerCreateParams = ConsumersAPI.ConsumerCreateParams;
    export import ConsumerUpdateParams = ConsumersAPI.ConsumerUpdateParams;
    export import ConsumerDeleteParams = ConsumersAPI.ConsumerDeleteParams;
    export import ConsumerGetParams = ConsumersAPI.ConsumerGetParams;
}
//# sourceMappingURL=queues.d.ts.map