import type { TargetBaseProps } from './util';
import * as events from '../../aws-events';
import type * as sqs from '../../aws-sqs';
/**
 * Customize the SQS Queue Event Target
 */
export interface SqsQueueProps extends TargetBaseProps {
    /**
     * Message Group ID for messages sent to this queue
     *
     * Required for FIFO queues. For standard queues, this parameter is optional
     * and can be used for SQS fair queue feature and deduplication.
     *
     * @default - no message group ID
     */
    readonly messageGroupId?: string;
    /**
     * The message to send to the queue.
     *
     * Must be a valid JSON text passed to the target queue.
     *
     * @default the entire EventBridge event
     */
    readonly message?: events.RuleTargetInput;
}
/**
 * Use an SQS Queue as a target for Amazon EventBridge rules.
 *
 * @example
 *   /// fixture=withRepoAndSqsQueue
 *   // publish to an SQS queue every time code is committed
 *   // to a CodeCommit repository
 *   repository.onCommit('onCommit', { target: new targets.SqsQueue(queue) });
 *
 */
export declare class SqsQueue implements events.IRuleTarget {
    readonly queue: sqs.IQueue;
    private readonly props;
    constructor(queue: sqs.IQueue, props?: SqsQueueProps);
    /**
     * Returns a RuleTarget that can be used to trigger this SQS queue as a
     * result from an EventBridge event.
     *
     * @see https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions
     */
    bind(rule: events.IRuleRef, _id?: string): events.RuleTargetConfig;
}
