import * as Core from 'cloudflare/core';
import { APIResource } from 'cloudflare/resource';
import * as ConsumersAPI from 'cloudflare/resources/queues/consumers';
export declare class Consumers extends APIResource {
    /**
     * Creates a new consumer for a queue.
     */
    create(name: string, params: ConsumerCreateParams, options?: Core.RequestOptions): Core.APIPromise<WorkersConsumerCreated | null>;
    /**
     * Updates the consumer for a queue, or creates one if it does not exist.
     */
    update(name: string, consumerName: string, params: ConsumerUpdateParams, options?: Core.RequestOptions): Core.APIPromise<WorkersConsumerUpdated | null>;
    /**
     * Deletes the consumer for a queue.
     */
    delete(name: string, consumerName: string, params: ConsumerDeleteParams, options?: Core.RequestOptions): Core.APIPromise<ConsumerDeleteResponse | null>;
    /**
     * Returns the consumers for a queue.
     */
    get(name: string, params: ConsumerGetParams, options?: Core.RequestOptions): Core.APIPromise<ConsumerGetResponse | null>;
}
export interface WorkersConsumer {
    created_on?: unknown;
    environment?: unknown;
    queue_name?: unknown;
    service?: unknown;
    settings?: WorkersConsumer.Settings;
}
export declare namespace WorkersConsumer {
    interface Settings {
        batch_size?: number;
        max_retries?: number;
        max_wait_time_ms?: number;
    }
}
export interface WorkersConsumerCreated {
    created_on?: unknown;
    dead_letter_queue?: string;
    environment?: unknown;
    queue_name?: unknown;
    script_name?: unknown;
    settings?: WorkersConsumerCreated.Settings;
}
export declare namespace WorkersConsumerCreated {
    interface Settings {
        batch_size?: number;
        max_retries?: number;
        max_wait_time_ms?: number;
    }
}
export interface WorkersConsumerUpdated {
    created_on?: unknown;
    dead_letter_queue?: unknown;
    environment?: unknown;
    queue_name?: unknown;
    script_name?: unknown;
    settings?: WorkersConsumerUpdated.Settings;
}
export declare namespace WorkersConsumerUpdated {
    interface Settings {
        batch_size?: number;
        max_retries?: number;
        max_wait_time_ms?: number;
    }
}
export type ConsumerDeleteResponse = unknown | Array<unknown> | string;
export type ConsumerGetResponse = Array<WorkersConsumer>;
export interface ConsumerCreateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    body: unknown;
}
export interface ConsumerUpdateParams {
    /**
     * Path param: Identifier
     */
    account_id: string;
    /**
     * Body param:
     */
    body: unknown;
}
export interface ConsumerDeleteParams {
    /**
     * Identifier
     */
    account_id: string;
}
export interface ConsumerGetParams {
    /**
     * Identifier
     */
    account_id: string;
}
export declare namespace 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=consumers.d.ts.map