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';
import * as MessagesAPI from 'cloudflare/resources/queues/messages';
import { SinglePage } from 'cloudflare/pagination';
export declare class Queues extends APIResource {
    consumers: ConsumersAPI.Consumers;
    messages: MessagesAPI.Messages;
    /**
     * Creates a new queue.
     */
    create(params: QueueCreateParams, options?: Core.RequestOptions): Core.APIPromise<QueueCreateResponse | null>;
    /**
     * Updates a queue.
     */
    update(queueId: string, params: QueueUpdateParams, options?: Core.RequestOptions): Core.APIPromise<QueueUpdateResponse | null>;
    /**
     * Returns the queues owned by an account.
     */
    list(params: QueueListParams, options?: Core.RequestOptions): Core.PagePromise<QueueListResponsesSinglePage, QueueListResponse>;
    /**
     * Deletes a queue.
     */
    delete(queueId: string, params: QueueDeleteParams, options?: Core.RequestOptions): Core.APIPromise<QueueDeleteResponse | null>;
    /**
     * Get information about a specific queue.
     */
    get(queueId: string, params: QueueGetParams, options?: Core.RequestOptions): Core.APIPromise<QueueGetResponse | null>;
}
export declare class QueueListResponsesSinglePage extends SinglePage<QueueListResponse> {
}
export interface Queue {
    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 QueueCreated {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface QueueUpdated {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface QueueCreateResponse {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface QueueUpdateResponse {
    created_on?: unknown;
    modified_on?: unknown;
    queue_id?: unknown;
    queue_name?: string;
}
export interface QueueListResponse {
    consumers?: unknown;
    consumers_total_count?: unknown;
    created_on?: unknown;
    modified_on?: unknown;
    producers?: unknown;
    producers_total_count?: unknown;
    queue_id?: string;
    queue_name?: string;
}
export type QueueDeleteResponse = unknown | Array<unknown> | string;
export interface QueueGetResponse {
    consumers?: unknown;
    consumers_total_count?: unknown;
    created_on?: unknown;
    modified_on?: unknown;
    producers?: unknown;
    producers_total_count?: unknown;
    queue_id?: string;
    queue_name?: 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 Queue = QueuesAPI.Queue;
    export import QueueCreated = QueuesAPI.QueueCreated;
    export import QueueUpdated = QueuesAPI.QueueUpdated;
    export import QueueCreateResponse = QueuesAPI.QueueCreateResponse;
    export import QueueUpdateResponse = QueuesAPI.QueueUpdateResponse;
    export import QueueListResponse = QueuesAPI.QueueListResponse;
    export import QueueDeleteResponse = QueuesAPI.QueueDeleteResponse;
    export import QueueGetResponse = QueuesAPI.QueueGetResponse;
    export import QueueListResponsesSinglePage = QueuesAPI.QueueListResponsesSinglePage;
    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 ConsumerCreateResponse = ConsumersAPI.ConsumerCreateResponse;
    export import ConsumerUpdateResponse = ConsumersAPI.ConsumerUpdateResponse;
    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;
    export import Messages = MessagesAPI.Messages;
    export import QueueConsumer = MessagesAPI.QueueConsumer;
    export import QueueConsumerCreated = MessagesAPI.QueueConsumerCreated;
    export import QueueConsumerUpdated = MessagesAPI.QueueConsumerUpdated;
    export import MessageAckResponse = MessagesAPI.MessageAckResponse;
    export import MessagePullResponse = MessagesAPI.MessagePullResponse;
    export import MessageAckParams = MessagesAPI.MessageAckParams;
    export import MessagePullParams = MessagesAPI.MessagePullParams;
}
//# sourceMappingURL=queues.d.ts.map