import { APIResource } from "../../resource.js"; import * as Core from "../../core.js"; import * as Shared from "../shared.js"; import { SinglePage } from "../../pagination.js"; export declare class Consumers extends APIResource { /** * Creates a new consumer for a Queue * * @example * ```ts * const consumer = await client.queues.consumers.create( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ create(queueId: string, params: ConsumerCreateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Updates the consumer for a queue, or creates one if it does not exist. * * @example * ```ts * const consumer = await client.queues.consumers.update( * '023e105f4ecef8ad9ca31a8372d0c353', * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ update(queueId: string, consumerId: string, params: ConsumerUpdateParams, options?: Core.RequestOptions): Core.APIPromise; /** * Deletes the consumer for a queue. * * @example * ```ts * const consumer = await client.queues.consumers.delete( * '023e105f4ecef8ad9ca31a8372d0c353', * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * ); * ``` */ delete(queueId: string, consumerId: string, params: ConsumerDeleteParams, options?: Core.RequestOptions): Core.APIPromise; /** * Returns the consumers for a Queue * * @example * ```ts * // Automatically fetches more pages as needed. * for await (const consumer of client.queues.consumers.get( * '023e105f4ecef8ad9ca31a8372d0c353', * { account_id: '023e105f4ecef8ad9ca31a8372d0c353' }, * )) { * // ... * } * ``` */ get(queueId: string, params: ConsumerGetParams, options?: Core.RequestOptions): Core.PagePromise; } export declare class ConsumersSinglePage extends SinglePage { } export type Consumer = Consumer.MqWorkerConsumer | Consumer.MqHTTPConsumer; export declare namespace Consumer { interface MqWorkerConsumer { /** * A Resource identifier. */ consumer_id?: string; created_on?: string; /** * A Resource identifier. */ queue_id?: string; /** * Name of a Worker */ script?: string; settings?: MqWorkerConsumer.Settings; type?: 'worker'; } namespace MqWorkerConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * Maximum number of concurrent consumers that may consume from this Queue. Set to * `null` to automatically opt in to the platform's maximum (recommended). */ max_concurrency?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of milliseconds to wait for a batch to fill up before attempting to * deliver it */ max_wait_time_ms?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; } } interface MqHTTPConsumer { /** * A Resource identifier. */ consumer_id?: string; created_on?: string; /** * A Resource identifier. */ queue_id?: string; settings?: MqHTTPConsumer.Settings; type?: 'http_pull'; } namespace MqHTTPConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; /** * The number of milliseconds that a message is exclusively leased. After the * timeout, the message becomes available for another attempt. */ visibility_timeout_ms?: number; } } } export interface ConsumerDeleteResponse { errors?: Array; messages?: Array; /** * Indicates if the API call was successful or not. */ success?: true; } export type ConsumerCreateParams = ConsumerCreateParams.MqWorkerConsumer | ConsumerCreateParams.MqHTTPConsumer; export declare namespace ConsumerCreateParams { interface MqWorkerConsumer { /** * Path param: A Resource identifier. */ account_id: string; /** * Body param: */ dead_letter_queue?: string; /** * Body param: Name of a Worker */ script_name?: string; /** * Body param: */ settings?: MqWorkerConsumer.Settings; /** * Body param: */ type?: 'worker'; } namespace MqWorkerConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * Maximum number of concurrent consumers that may consume from this Queue. Set to * `null` to automatically opt in to the platform's maximum (recommended). */ max_concurrency?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of milliseconds to wait for a batch to fill up before attempting to * deliver it */ max_wait_time_ms?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; } } interface MqHTTPConsumer { /** * Path param: A Resource identifier. */ account_id: string; /** * Body param: */ dead_letter_queue?: string; /** * Body param: */ settings?: MqHTTPConsumer.Settings; /** * Body param: */ type?: 'http_pull'; } namespace MqHTTPConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; /** * The number of milliseconds that a message is exclusively leased. After the * timeout, the message becomes available for another attempt. */ visibility_timeout_ms?: number; } } } export type ConsumerUpdateParams = ConsumerUpdateParams.MqWorkerConsumer | ConsumerUpdateParams.MqHTTPConsumer; export declare namespace ConsumerUpdateParams { interface MqWorkerConsumer { /** * Path param: A Resource identifier. */ account_id: string; /** * Body param: */ dead_letter_queue?: string; /** * Body param: Name of a Worker */ script_name?: string; /** * Body param: */ settings?: MqWorkerConsumer.Settings; /** * Body param: */ type?: 'worker'; } namespace MqWorkerConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * Maximum number of concurrent consumers that may consume from this Queue. Set to * `null` to automatically opt in to the platform's maximum (recommended). */ max_concurrency?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of milliseconds to wait for a batch to fill up before attempting to * deliver it */ max_wait_time_ms?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; } } interface MqHTTPConsumer { /** * Path param: A Resource identifier. */ account_id: string; /** * Body param: */ dead_letter_queue?: string; /** * Body param: */ settings?: MqHTTPConsumer.Settings; /** * Body param: */ type?: 'http_pull'; } namespace MqHTTPConsumer { interface Settings { /** * The maximum number of messages to include in a batch. */ batch_size?: number; /** * The maximum number of retries */ max_retries?: number; /** * The number of seconds to delay before making the message available for another * attempt. */ retry_delay?: number; /** * The number of milliseconds that a message is exclusively leased. After the * timeout, the message becomes available for another attempt. */ visibility_timeout_ms?: number; } } } export interface ConsumerDeleteParams { /** * A Resource identifier. */ account_id: string; } export interface ConsumerGetParams { /** * A Resource identifier. */ account_id: string; } export declare namespace Consumers { export { type Consumer as Consumer, type ConsumerDeleteResponse as ConsumerDeleteResponse, ConsumersSinglePage as ConsumersSinglePage, type ConsumerCreateParams as ConsumerCreateParams, type ConsumerUpdateParams as ConsumerUpdateParams, type ConsumerDeleteParams as ConsumerDeleteParams, type ConsumerGetParams as ConsumerGetParams, }; } //# sourceMappingURL=consumers.d.ts.map