import { Account, AccountAvailability, AccountSettings, CancelAccount, CancelAccountPayload, Agreements, RegionalNetworkUtilization, ChildAccountPayload } from './types';
import type { Filter, ResourcePage, Params, RequestOptions } from '../types';
import type { Token } from '../profile';
/**
 * getAccountInfo
 *
 * Return account information,
 * including contact and billing info.
 *
 */
export declare const getAccountInfo: () => Promise<Account>;
/**
 * getNetworkUtilization
 *
 * Return your current network transfer quota and usage.
 *
 */
export declare const getNetworkUtilization: () => Promise<RegionalNetworkUtilization>;
/**
 * updateAccountInfo
 *
 * Update your contact or billing information.
 *
 */
export declare const updateAccountInfo: (data: Partial<Account>) => Promise<Account>;
/**
 * getAccountSettings
 *
 * Retrieve general account-level settings.
 *
 */
export declare const getAccountSettings: () => Promise<AccountSettings>;
/**
 * updateAccountSettings
 *
 * Update a user's account settings.
 *
 */
export declare const updateAccountSettings: (data: Partial<AccountSettings>) => Promise<AccountSettings>;
/**
 * cancelAccount
 *
 * Cancels an account and returns a survey monkey link for a user to fill out
 */
export declare const cancelAccount: (data: CancelAccountPayload) => Promise<CancelAccount>;
/**
 * getAccountAgreements
 *
 * Gets the state of all agreements (signed or unsigned).
 *
 */
export declare const getAccountAgreements: () => Promise<Agreements>;
/**
 * getAccountAvailabilities
 *
 * Gets the account's entity availability for each region. Specifically
 * tells which entities the account does not have capability for in each region.
 *
 */
export declare const getAccountAvailabilities: (params?: Params, filter?: Filter) => Promise<ResourcePage<AccountAvailability>>;
/**
 * getAccountAvailability
 *
 * Gets the account's entity availability for given region. Specifically
 * tells which entities the account does not have capability for in given region.
 *
 */
export declare const getAccountAvailability: (regionId: string) => Promise<AccountAvailability>;
/**
 * signAgreement
 *
 * Sign one or more agreements
 */
export declare const signAgreement: (data: Partial<Agreements>) => Promise<{}>;
/**
 * getChildAccounts
 *
 * This endpoint will return a paginated list of all Child Accounts with a Parent Account.
 * The response will be similar to /account, except that it will list details for multiple accounts.
 */
export declare const getChildAccounts: ({ filter, params, headers }: RequestOptions) => Promise<ResourcePage<Account>>;
/**
 * getChildAccount
 *
 * This endpoint will function similarly to /account/child-accounts,
 * except that it will return account details for only a specific euuid.
 */
export declare const getChildAccount: ({ euuid, headers }: ChildAccountPayload) => Promise<Account>;
/**
 * createChildAccountPersonalAccessToken
 *
 * This endpoint will allow Parent Account Users with the "child_account_access" grant to
 * create an ephemeral token for their proxy user on a child account, using the euuid of
 * that child account. As noted in previous sections, this Token will inherit the
 * permissions of the Proxy User, and the token itself will not be subject to additional
 * restrictions.
 *
 * setHeaders() will be used for creating tokens from within the proxy account.
 */
export declare const createChildAccountPersonalAccessToken: ({ euuid, headers, }: ChildAccountPayload) => Promise<Token>;
//# sourceMappingURL=account.d.ts.map