import { IBus } from "../../application/iBus";
import { ConsumerParams, GenericMessage, RedeliveryInput, ScheduleInput } from "../../application/utils/types";
import { AWSMessageContext } from '../utils/types';
export declare class AWSBus implements IBus {
    private readonly eventBridge;
    private readonly sqs;
    private readonly sns;
    publish<TMessage extends GenericMessage>(topicName: string, message: TMessage): Promise<void>;
    send<TMessage extends GenericMessage>(queueName: string, message: TMessage, params?: {}): Promise<void>;
    redelivery<TMessage extends GenericMessage>(params: RedeliveryInput<AWSMessageContext<TMessage>, TMessage>): Promise<void>;
    schedule<TMessage extends GenericMessage>(params: ScheduleInput<TMessage>): Promise<void>;
    consume<TMessage extends GenericMessage>(params: ConsumerParams<TMessage>): void;
    private handleSpan;
}
