declare namespace _default {
    export { getDeviceCode };
    export { getDeviceAuth };
    export { getToken };
    export { getTokenWithPhone };
    export { getTokenWithCode };
    export { getRefreshToken };
    export { revokeRefreshToken };
    export { switchProfile };
}
export default _default;
/**
 * Get device code for easy login
 * @returns {Promise<import('../types').DeviceCode>}
 */
declare function getDeviceCode(): Promise<import('../types').DeviceCode>;
/**
 * Get access token from device code
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} obj.deviceCode login type
 * @returns {Promise<import('../types').Token>}
 */
declare function getDeviceAuth({ device, deviceCode }: {
    device: import('../types.js').Device;
    deviceCode: string;
}): Promise<import('../types').Token>;
/**
 * Make out system login
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} [obj.scope]
 * @param {String} obj.username user's email
 * @param {String} obj.password user's password
 * @returns {Promise<import('../types').Token>}
 */
declare function getToken({ device, scope, username, password }: {
    device: import('../types.js').Device;
    scope?: string;
    username: string;
    password: string;
}): Promise<import('../types').Token>;
/**
 * Make out system login
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} [obj.scope]
 * @param {String} obj.phone user's phone
 * @param {String} obj.verification_code
 * @returns {Promise<import('../types').Token>}
 */
declare function getTokenWithPhone({ device, scope, phone, verification_code }: {
    device: import('../types.js').Device;
    scope?: string;
    phone: string;
    verification_code: string;
}): Promise<import('../types').Token>;
/**
 * Make out system login
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} [obj.scope]
 * @param {String} obj.code
 * @param {String} obj.code_verifier
 * @returns {Promise<import('../types').Token>}
 */
declare function getTokenWithCode({ device, scope, code, code_verifier }: {
    device: import('../types.js').Device;
    scope?: string;
    code: string;
    code_verifier: string;
}): Promise<import('../types').Token>;
/**
 * Refresh access token.
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} [obj.scope]
 * @param {String} obj.refreshToken refresh token from login
 * @returns {Promise<import('../types').Token>}
 */
declare function getRefreshToken({ device, scope, refreshToken }: {
    device: import('../types.js').Device;
    scope?: string;
    refreshToken: string;
}): Promise<import('../types').Token>;
/**
 * revoke access token.
 * @param {{refreshToken: String}} obj
 * @returns {Promise<{status: String}>}
 */
declare function revokeRefreshToken({ refreshToken }: {
    refreshToken: string;
}): Promise<{
    status: string;
}>;
/**
 * Switch profile
 * @param {Object} obj
 * @param {import('../types.js').Device} obj.device Device
 * @param {String} [obj.scope]
 * @param {String} obj.refreshToken refresh token from login
 * @param {String} obj.profileId profile id for switch
 * @returns {Promise<import('../types').Token>}
 */
declare function switchProfile({ device, scope, refreshToken, profileId }: {
    device: import('../types.js').Device;
    scope?: string;
    refreshToken: string;
    profileId: string;
}): Promise<import('../types').Token>;
