import { z } from 'zod';
import { type APIClient } from '../api.ts';
import { type Consumer, type QueueApiOptions } from './types.ts';
export declare const ConsumersListResponseSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
    success: z.ZodLiteral<false>;
    message: z.ZodString;
    code: z.ZodOptional<z.ZodString>;
}, z.core.$strip>, z.ZodObject<{
    success: z.ZodLiteral<true>;
    data: z.ZodObject<{
        consumers: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            queue_id: z.ZodString;
            client_id: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            durable: z.ZodBoolean;
            ip_address: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            last_offset: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
            connected_at: z.ZodString;
            disconnected_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            created_at: z.ZodString;
            updated_at: z.ZodString;
        }, z.core.$strip>>;
        total: z.ZodNumber;
    }, z.core.$strip>;
}, z.core.$strip>], "success">;
/**
 * List consumers for a queue.
 *
 * Returns active WebSocket consumers and recently disconnected durable consumers.
 *
 * @param client - The API client instance
 * @param queueName - The name of the queue
 * @param options - Optional API options (e.g., orgId for CLI-authenticated requests)
 * @returns Array of consumers
 * @throws {QueueNotFoundError} If the queue does not exist
 * @throws {QueueError} If the API request fails
 *
 * @example
 * ```typescript
 * const consumers = await listConsumers(client, 'order-processing');
 * for (const consumer of consumers) {
 *   const status = consumer.disconnected_at ? 'disconnected' : 'connected';
 *   console.log(`Consumer ${consumer.id}: ${status} (durable: ${consumer.durable})`);
 * }
 * ```
 */
export declare function listConsumers(client: APIClient, queueName: string, options?: QueueApiOptions): Promise<Consumer[]>;
//# sourceMappingURL=consumers.d.ts.map