import { ListTranscodersSortOptions, ListTranscodersInstancesSortOptions, ListTranscodersProfilesSortOptions, Transcoder, TranscoderProfile, TranscoderInstance, CreateTranscoderRequest, UpdateTranscoderRequest } from './types/transcoders';
/**
 * Lists all transcoders.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-list-transcoders/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param options Options to sort the response.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of {@link Transcoder} objects.
 */
export declare const listTranscoders: (apiSecret: string, options: ListTranscodersSortOptions) => Promise<Transcoder[]>;
/**
 * Gets the specified cloud transcoder.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-get-transcoder/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderId Identifier of the cloud transcoder to retrieve.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link Transcoder} object.
 */
export declare const getTranscoder: (apiSecret: string, transcoderId: string) => Promise<Transcoder>;
/**
 * Deletes the specified cloud transcoder.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-delete-transcoder/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderId Identifier of the cloud transcoder to delete.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a flag to indicate if the operation succeeded or not.
 */
export declare const deleteTranscoder: (apiSecret: string, transcoderId: number) => Promise<boolean>;
/**
 * ## Creates a cloud transcoder.
 *
 * Create a Cloud Transcoder to enable Adaptive Bitrate (ABR) Simulcast streams without requiring multiple broadcast contribution sources.
 *
 * A Transcoder represents the configuration of your bitrate ladder from a pre-defined profile or by setting the maximum height and frameRate you'd like to target.
 * See the 'List Transcoder Profiles' endpoint to find available Transcoder profiles. If you specify both a profile id and height/frameRate settings only the profile will be used.
 *
 * You should update any broadcast encoders to use this new origin server as configured by the DNS of the Transcoder which can be found in the response data.
 *
 * @remarks There are additional charges for a Transcoder so you should use
 * the {@link stopTranscoder | Stop Transcoder} and {@link startTranscoder | Start Transcoder} capabilities
 * to enable cloud transcoding only when you need to broadcast.
 *
 * Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-create-transcoder/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoder Information about the new cloud transcoder.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link Transcoder} object.
 */
export declare const createTranscoder: (apiSecret: string, transcoder: CreateTranscoderRequest) => Promise<Transcoder>;
/**
 * ## Configures an existing Transcoder.
 *
 * Make changes to the configuration of an existing Transcoder.
 * Changes should take effect without requiring a server restart except for DNS prefix and cluster,
 * which can only be updated when the transcoder is in a shutdown state.
 *
 * Changing the profile will require either a profile id or the height, frameRate, and passThrough.
 * If you specify both, only the profile will be used.
 * See the {@link listTranscoders | List Transcoder Profiles} to find available Transcoder profiles.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-update-transcoder/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderId Identifier of the cloud transcoder to update.
 * @param transcoder Settings of the cloud transcoder to update.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link Transcoder} object.
 */
export declare const updateTranscoder: (apiSecret: string, transcoderId: string, transcoder: UpdateTranscoderRequest) => Promise<Transcoder>;
/**
 * ## Starts the cloud transcoder.
 *
 * Enable a Transcoder by ID to accept incoming broadcast sources.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-start-transcoder/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderId Identifier of the cloud transcoder to start.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a flag to indicate if the operation succeeded or not.
 */
export declare const startTranscoder: (apiSecret: string, transcoderId: string) => Promise<boolean>;
/**
 * ## Stops the cloud transcoder.
 *
 * Disable a Transcoder by ID so that it will shutdown and no longer accept incoming broadcast sources.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-stop-transcoder/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderId Identifier of the cloud transcoder to stop.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a flag to indicate if the operation succeeded or not.
 */
export declare const stopTranscoder: (apiSecret: string, transcoderId: string) => Promise<boolean>;
/**
 * Lists all transcoder instances.
 *
 * Information on each instance is available for up to 90 days from its end date.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-list-transcoder-instances/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param options Options to sort the response.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of {@link TranscoderInstance} objects.
 */
export declare const listTranscoderInstances: (apiSecret: string, options: ListTranscodersInstancesSortOptions) => Promise<TranscoderInstance[]>;
/**
 * Gets the specified cloud transcoder instance.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-get-transcoder-instance/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param transcoderInstanceId Identifier of the cloud transcoder instance to retrieve.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link TranscoderInstance} object.
 */
export declare const getTranscoderInstance: (apiSecret: string, transcoderInstanceId: string) => Promise<TranscoderInstance>;
/**
 * Lists all transcoder profiles.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/transcoder-list-transcoder-profiles/}
 *
 * @remarks Cloud transcoder is not currently available for general usage.
 * If you would like to opt in, please contact our Sales team.
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param options Options to sort the response.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of {@link TranscoderProfile} objects.
 */
export declare const listTranscoderProfiles: (apiSecret: string, options: ListTranscodersProfilesSortOptions) => Promise<TranscoderProfile[]>;
/** APIs related to the transcoder schedulers. */
export * as scheduler from './transcodersSchedules';
