import { CreateMediaDistributionRequest, UpdateMediaDistributionRequest, MediaDistribution, ListMediaDistributionsQueryParams, ListMediaDistributionsResponse, SecurityKey, CreaseSecurityKeyRequest } from './types/mediaDistributions';
/**
 * ## Creates Media Distribution
 *
 * Creates a new media distribution for viewing HLS media assets.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-create-media-distribution/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param createRequest The request body for creating a new media asset.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an {@link MediaDistribution} object.
 */
export declare const create: (apiSecret: string, createRequest: CreateMediaDistributionRequest) => Promise<MediaDistribution>;
/**
 * ## Lists Media Distribution
 *
 * List all media distributions with specific sorting and pagination.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-list-media-distribution/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param params Query parameters for filtering the list of media distributions.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of {@link ListMediaDistributionsResponse} objects.
 */
export declare const list: (apiSecret: string, params: ListMediaDistributionsQueryParams) => Promise<ListMediaDistributionsResponse[]>;
/**
 * ## Reads Media Distribution
 *
 * Gets media distribution specified by `mediaDistributionId`.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-read-media-distribution/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param mediaDistributionId The ID of the media distribution to read.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an {@link MediaDistribution} object.
 */
export declare const read: (apiSecret: string, mediaDistributionId: string) => Promise<MediaDistribution>;
/**
 * ## Deletes Media Distribution
 *
 * Deletes media distribution specified by a `mediaDistributionId`.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-delete-media-distribution/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param mediaDistributionId The ID of the media distribution to delete.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of asset deletion tasks that failed.
 */
export declare const deleteMediaDistribution: (apiSecret: string, mediaDistributionId: string) => Promise<{
    id?: string;
    error?: string;
}[] | null>;
/**
 * ## Updates Media Asset
 *
 * Update media asset settings.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-update-media-distribution/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param updateRequest The request body for creating a new media asset.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link MediaDistribution} object.
 */
export declare const updateMediaDistribution: (apiSecret: string, updateRequest: UpdateMediaDistributionRequest) => Promise<MediaDistribution>;
/**
 * ## Gets all security keys of a media distribution by ID
 *
 * Get all security keys of a media distribution by ID.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-get-security-keys/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param mediaDistributionId The ID of the media distribution to get the security keys from.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link SecurityKey} object.
 */
export declare const getSecurityKey: (apiSecret: string, mediaDistributionId: string) => Promise<SecurityKey[]>;
/**
 * ## Creates a Security Key
 *
 * Creates a new security key for a media distribution. Each media distribution may have up to 2 security keys.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-create-security-key/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param createRequest The request body for creating a new security key.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link SecurityKey} object.
 */
export declare const createSecurityKey: (apiSecret: string, createRequest: CreaseSecurityKeyRequest) => Promise<SecurityKey>;
/**
 * ## Deletes Media Distribution Security Key
 *
 * Deletes a media distribution security key.
 *
 * @see {@link https://optiview.dolby.com/docs/millicast/api/media-distributions-delete-security-key/}
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param mediaDistributionId The ID of the media distribution to get the key from.
 * @param securityKeyId The ID of the security key to delete.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of asset deletion tasks that failed.
 */
export declare const deleteSecurityKey: (apiSecret: string, mediaDistributionId: string, securityKeyId: string) => Promise<{
    status?: string;
    message?: string;
}[] | null>;
