import { ActivePublishTokenResponse, CreatePublishToken, PublishToken, UpdatePublishToken, DisablePublishTokenResponse } from './types/publishToken';
/**
 * Gets the specified publish token.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_readtoken
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param tokenId Identifier of the publish token to read.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link PublishToken} object.
 */
export declare const read: (apiSecret: string, tokenId: number) => Promise<PublishToken>;
/**
 * Deletes the publish token.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_deletetoken
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param tokenId Identifier of the publish token to delete.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a flag to indicate if the operation succeeded or not.
 */
export declare const deleteToken: (apiSecret: string, tokenId: number) => Promise<boolean>;
/**
 * Updates the publish token.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_updatetoken
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param tokenId Identifier of the publish token to update.
 * @param publishToken Settings of the publish token to update.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link PublishToken} object.
 */
export declare const update: (apiSecret: string, tokenId: number, publishToken: UpdatePublishToken) => Promise<PublishToken>;
/**
 * Lists all publish tokens with specific sorting and pagination.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_listtokens
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param sortBy How to sort the response.
 * @param page Number of the page to retrieve.
 * @param itemsOnPage Number of items per page.
 * @param isDescending Sort by descending order.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives an array of {@link PublishToken} objects.
 */
export declare const list: (apiSecret: string, sortBy: 'Name' | 'AddedOn', page: number, itemsOnPage: number, isDescending?: boolean) => Promise<PublishToken[]>;
/**
 * Creates a publish token.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_createtoken
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param publishToken Information about the new publish token.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link PublishToken} object.
 */
export declare const create: (apiSecret: string, publishToken: CreatePublishToken) => Promise<PublishToken>;
/**
 * Gets the Publish Token ID of an active stream by its Stream ID.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_getactivetokenbystreamid
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param streamId Stream ID for which to get the publish token IDs.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link ActivePublishTokenResponse} object.
 */
export declare const getActivePublishTokenId: (apiSecret: string, streamId: string) => Promise<ActivePublishTokenResponse>;
/**
 * Gets all Publish Token IDs for active streams on the account.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_getallactivetokensbyaccount
 *
 * @param apiSecret The API Secret used to authenticate this request.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link ActivePublishTokenResponse} object.
 */
export declare const getAllActivePublishTokenId: (apiSecret: string) => Promise<ActivePublishTokenResponse>;
/**
 * Disables Publish Token(s) by their Token ID. An array of Token IDs can be used for bulk disable.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/publishtokenv1_disabletokens
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param tokenIds List of token IDs to disable.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link DisablePublishTokenResponse} object.
 */
export declare const disable: (apiSecret: string, tokenIds: number[]) => Promise<DisablePublishTokenResponse>;
