import { ConcreteWidget } from 'aws-cdk-lib/aws-cloudwatch';
import { IFunction } from 'aws-cdk-lib/aws-lambda';
import { IQueue } from 'aws-cdk-lib/aws-sqs';
import { Construct } from 'constructs';
type QueueWidgetDetails = {
    name: string;
    queue: IQueue;
    reDriveFunction?: IFunction;
};
export interface SQLDLQWidgetProps {
    readonly queues: QueueWidgetDetails[];
    readonly key: string;
    readonly description?: string;
    readonly emptyQueueMessage?: string;
    readonly nonEmptyQueueMessage?: string;
    readonly title?: string;
    readonly width?: number;
    readonly height?: number;
}
/**
 * CloudWatch dashboard widget to show the list of DLQs which have messages
 * When the queue has message(s), the widget will generate a link to goto the queue
 * and if there is a re-drive lambda, the widget will include a button to
 * execute the re-drive lambda
 */
export declare class SQSDLQWidget extends ConcreteWidget {
    private readonly handler;
    private readonly queues;
    private readonly description;
    private readonly title;
    private readonly emptyQueueMessage;
    private readonly nonEmptyQueueMessage;
    constructor(scope: Construct, id: string, props: SQLDLQWidgetProps);
    addQueue(name: string, queue: IQueue, reDriveFunction?: IFunction): void;
    toJson(): {
        type: string;
        width: number;
        height: number;
        x: number | undefined;
        y: number | undefined;
        properties: {
            endpoint: string;
            params: {
                description: string;
                title: string;
                emptyQueueMessage: string;
                nonEmptyQueueMessage: string;
                queues: Record<string, any>;
            };
            title: string;
            updateOn: {
                refresh: boolean;
                resize: boolean;
                timeRange: boolean;
            };
        };
    }[];
}
export {};
