import { z } from 'zod';
declare const AzureStorageQueueConfigSchema: z.ZodEffects<z.ZodObject<{
    connectionString: z.ZodOptional<z.ZodString>;
    accountName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    accountName?: string;
    connectionString?: string;
}, {
    accountName?: string;
    connectionString?: string;
}>, {
    accountName?: string;
    connectionString?: string;
}, {
    accountName?: string;
    connectionString?: string;
}>;
declare const StorageQueueOperationResultSchema: z.ZodObject<{
    success: z.ZodBoolean;
    data: z.ZodOptional<z.ZodAny>;
    error: z.ZodOptional<z.ZodString>;
    errorType: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    error?: string;
    data?: any;
    errorType?: string;
    success?: boolean;
}, {
    error?: string;
    data?: any;
    errorType?: string;
    success?: boolean;
}>;
type AzureStorageQueueConfig = z.infer<typeof AzureStorageQueueConfigSchema>;
type StorageQueueOperationResult = z.infer<typeof StorageQueueOperationResultSchema>;
export declare class AzureStorageQueueTools {
    private queueServiceClient;
    private config;
    constructor(config: AzureStorageQueueConfig);
    listQueues(): Promise<StorageQueueOperationResult>;
    createQueue(queueName: string, options?: {
        metadata?: Record<string, string>;
    }): Promise<StorageQueueOperationResult>;
    deleteQueue(queueName: string): Promise<StorageQueueOperationResult>;
    sendMessage(queueName: string, messageText: string, options?: {
        visibilityTimeoutInSeconds?: number;
        messageTimeToLiveInSeconds?: number;
    }): Promise<StorageQueueOperationResult>;
    receiveMessages(queueName: string, options?: {
        numberOfMessages?: number;
        visibilityTimeoutInSeconds?: number;
    }): Promise<StorageQueueOperationResult>;
    peekMessages(queueName: string, options?: {
        numberOfMessages?: number;
    }): Promise<StorageQueueOperationResult>;
    deleteMessage(queueName: string, messageId: string, popReceipt: string): Promise<StorageQueueOperationResult>;
    clearMessages(queueName: string): Promise<StorageQueueOperationResult>;
    getQueueProperties(queueName: string): Promise<StorageQueueOperationResult>;
}
export {};
