declare namespace _default {
    export { storage };
    export { getAuthToken };
    export { getToken };
    export { getLocale };
    export { getCms };
    export { getContentParam };
    export { loadFromLocal };
    export { saveToLocal };
    export { authDataFile };
    export { getAccount };
    export { saveToken };
    export { setExternalStorage };
    export { setNewData };
    export { switchProfile };
    export { revokeToken };
}
export default _default;
/** @type {import('./types.js').Storage} */
declare const storage: import('./types.js').Storage;
/**
 * @returns {Promise<String>}
 */
declare function getAuthToken(): Promise<string>;
/**
 * @returns {Promise<import('./types').TokenObj>}
 */
declare function getToken(): Promise<import('./types').TokenObj>;
/**
 * @todo maybe add a extra field to save locale, and return profile.preferredContentSubtitleLanguage too
 */
declare function getLocale(): Promise<string>;
/**
 * @returns {Promise<import('./types').CmsObj>}
 */
declare function getCms(): Promise<import('./types').CmsObj>;
/**
 * Return basic params to query api
 * @param {import('./types').Profile} profile
 * @returns {Promise<import('./types').AccountAuth>}
 */
declare function getContentParam(profile: import('./types').Profile): Promise<import('./types').AccountAuth>;
/**
 * Load from persistence data
 * @returns {Promise}
 */
declare function loadFromLocal(): Promise<any>;
/**
 * Save to persistence data
 * @returns {Promise}
 */
declare function saveToLocal(): Promise<any>;
/**
 * Disk file with credential data
 * @returns {Promise<String>}
 */
declare function authDataFile(): Promise<string>;
/**
 * @returns {Promise<import('./types').AccountObj>}
 */
declare function getAccount(): Promise<import('./types').AccountObj>;
/**
 * @param {Object} [data]
 * @returns {Promise}
 */
declare function saveToken(data?: any): Promise<any>;
/**
 * Set function to save and load data from external storage
 * @param {{save: Function, load: Function}} obj
 */
declare function setExternalStorage({ save, load }: {
    save: Function;
    load: Function;
}): void;
/**
 * Set credentials of an account
 * @param {Storage} newData
 * @returns {Promise}
 */
declare function setNewData(newData: Storage): Promise<any>;
/**
 * @param {String} profileId
 * @returns {Promise<import('./types').TokenObj>}
 */
declare function switchProfile(profileId: string): Promise<import('./types').TokenObj>;
/**
 * @returns {Promise}
 */
declare function revokeToken(): Promise<any>;
