import { SNS, SQS } from "aws-sdk";
import { Message, PollResult } from "../provider";
import { FunctionCall } from "../wrapper";
import { AwsMetrics } from "./aws-faast";
export declare function createSNSTopic(sns: SNS, Name: string): Promise<string>;
export declare function sendResponseQueueMessage(sqs: SQS, QueueUrl: string, message: Message): Promise<void>;
export declare function publishFunctionCallMessage(sns: SNS, TopicArn: string, message: FunctionCall, metrics: AwsMetrics): Promise<import("aws-sdk/lib/request").PromiseResult<SNS.PublishResponse, import("aws-sdk").AWSError>>;
export declare function createSQSQueue(QueueName: string, VTimeout: number, sqs: SQS): Promise<{
    QueueUrl: string;
    QueueArn: string | undefined;
}>;
export declare function processAwsErrorMessage(message: string): Error;
export declare function receiveMessages(sqs: SQS, ResponseQueueUrl: string, metrics: AwsMetrics, cancel: Promise<void>): Promise<PollResult>;
