import { MediaConvertClient } from "@aws-sdk/client-mediaconvert";
import { TranscodeDispatcher } from "./types/interfaces";
import { Logger } from "eyevinn-iaf";
export declare class MediaConvertDispatcher implements TranscodeDispatcher {
    encodeParams: any;
    mediaConverterEndpoint: any;
    mediaConverterClient: MediaConvertClient;
    inputLocation: string;
    outputDestination: string;
    roleArn: string;
    playlistName: string;
    logger: Logger;
    /**
     * Initializes a MediaConvertDispatcher
     * @param mediaConvertEndpoint the unique part of the endpoint to the mediaconvert instance
     * @param region the AWS region
     * @param inputLocation the S3 bucket containing the input files
     * @param outputDestination the S3 bucket where the results should be placed
     * @param roleArn the role ARN string for AWS
     * @param playlistName the name of the playlist to be created
     * @param encodeParams the parameters to be used for the transcoding job
     * @param logger a logger object
     */
    constructor(mediaConvertEndpoint: string, region: string, inputLocation: string, outputDestination: string, roleArn: string, playlistName: string, encodeParams: string, logger: Logger);
    /**
     * Dispatches a transcode job to a MediaConvert instance
     * @param fileName the name of the file to transcode
     * @returns the response from AWS.
     */
    dispatch(fileName: string): Promise<import("@aws-sdk/client-mediaconvert").CreateJobCommandOutput>;
    /**
     * Get a transcode job from a MediaConvert instance
     * @param jobId the ID of the job to get
     * @returns the response from AWS.
     */
    getJob(jobId: string): Promise<import("@aws-sdk/client-mediaconvert").Job>;
    loadEncodeParams(templateFileName: string): any;
}
