import { AccountGeoCascade, GeoRestrictions } from './types/account';
/**
 * Gets the account geo cascading settings.
 * If a Publish Token does not define any geo cascade settings, the account wide settings are used.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/account_getgeocascade
 *
 * @param apiSecret The API Secret used to authenticate this request.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link AccountGeoCascade} object.
 */
export declare const getGeoCascade: (apiSecret: string) => Promise<AccountGeoCascade>;
/**
 * Update account wide geo cascading settings to enable/disable the feature or update the account default cluster list.
 * `["all"]` could be used in place of cluster list to cascade stream to all existing and any future clusters available to the account.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/account_updategeocascade
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param settings The new default geo cascading cluster settings.
 *
 * @returns A {@link !Promise Promise} whose fulfillment handler receives a {@link AccountGeoCascade} object.
 */
export declare const updateGeoCascade: (apiSecret: string, settings: AccountGeoCascade) => Promise<AccountGeoCascade>;
/**
 * Gets the account geo restriction rules.
 *
 * If a token (either Publish or Subscribe) does not define any geo restrictions, the account wide rules are used.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/geo_geo
 *
 * @param apiSecret The API Secret used to authenticate this request.
 *
 * @returns A {@link GeoRestrictions} object through a {@link Promise}.
 */
export declare const readGeoRestrictions: (apiSecret: string) => Promise<GeoRestrictions>;
/**
 * Updates the account geo restriction rules.
 *
 * @link https://docs.dolby.io/streaming-apis/reference/geo_updategeo
 *
 * @param apiSecret The API Secret used to authenticate this request.
 * @param allowedCountries The list of allowed countries. An empty array `[]` removes all rules.
 * @param deniedCountries The list of denied countries. An empty array `[]` removes all rules.
 *
 * @returns A {@link GeoRestrictions} object through a {@link Promise}.
 */
export declare const updateGeoRestrictions: (apiSecret: string, allowedCountries?: string[] | null, deniedCountries?: string[] | null) => Promise<GeoRestrictions>;
