import { APIResource } from "../../../core/resource.js";
import { APIPromise } from "../../../core/api-promise.js";
import { RequestOptions } from "../../../internal/request-options.js";
export declare class BaseAccounts extends APIResource {
    static readonly _key: readonly ['addressing', 'addressMaps', 'accounts'];
    /**
     * Add an account as a member of a particular address map.
     *
     * @example
     * ```ts
     * const account =
     *   await client.addressing.addressMaps.accounts.update(
     *     '258def64c72dae45f3e4c8516e2111f2',
     *     {
     *       account_id: '258def64c72dae45f3e4c8516e2111f2',
     *       address_map_id: '055817b111884e0227e1be16a0be6ee0',
     *     },
     *   );
     * ```
     */
    update(memberAccountID: string, params: AccountUpdateParams, options?: RequestOptions): APIPromise<AccountUpdateResponse>;
    /**
     * Remove an account as a member of a particular address map.
     *
     * @example
     * ```ts
     * const account =
     *   await client.addressing.addressMaps.accounts.delete(
     *     '258def64c72dae45f3e4c8516e2111f2',
     *     {
     *       account_id: '258def64c72dae45f3e4c8516e2111f2',
     *       address_map_id: '055817b111884e0227e1be16a0be6ee0',
     *     },
     *   );
     * ```
     */
    delete(memberAccountID: string, params: AccountDeleteParams, options?: RequestOptions): APIPromise<AccountDeleteResponse>;
}
export declare class Accounts extends BaseAccounts {
}
export interface AccountUpdateResponse {
    errors: Array<AccountUpdateResponse.Error>;
    messages: Array<AccountUpdateResponse.Message>;
    /**
     * Whether the API call was successful.
     */
    success: true;
    result_info?: AccountUpdateResponse.ResultInfo;
}
export declare namespace AccountUpdateResponse {
    interface Error {
        code: number;
        message: string;
        documentation_url?: string;
        source?: Error.Source;
    }
    namespace Error {
        interface Source {
            pointer?: string;
        }
    }
    interface Message {
        code: number;
        message: string;
        documentation_url?: string;
        source?: Message.Source;
    }
    namespace Message {
        interface Source {
            pointer?: string;
        }
    }
    interface ResultInfo {
        /**
         * Total number of results for the requested service.
         */
        count?: number;
        /**
         * Current page within paginated list of results.
         */
        page?: number;
        /**
         * Number of results per page of results.
         */
        per_page?: number;
        /**
         * Total results available without any search parameters.
         */
        total_count?: number;
        /**
         * The number of total pages in the entire result set.
         */
        total_pages?: number;
    }
}
export interface AccountDeleteResponse {
    errors: Array<AccountDeleteResponse.Error>;
    messages: Array<AccountDeleteResponse.Message>;
    /**
     * Whether the API call was successful.
     */
    success: true;
    result_info?: AccountDeleteResponse.ResultInfo;
}
export declare namespace AccountDeleteResponse {
    interface Error {
        code: number;
        message: string;
        documentation_url?: string;
        source?: Error.Source;
    }
    namespace Error {
        interface Source {
            pointer?: string;
        }
    }
    interface Message {
        code: number;
        message: string;
        documentation_url?: string;
        source?: Message.Source;
    }
    namespace Message {
        interface Source {
            pointer?: string;
        }
    }
    interface ResultInfo {
        /**
         * Total number of results for the requested service.
         */
        count?: number;
        /**
         * Current page within paginated list of results.
         */
        page?: number;
        /**
         * Number of results per page of results.
         */
        per_page?: number;
        /**
         * Total results available without any search parameters.
         */
        total_count?: number;
        /**
         * The number of total pages in the entire result set.
         */
        total_pages?: number;
    }
}
export interface AccountUpdateParams {
    /**
     * Identifier of a Cloudflare account.
     */
    account_id: string;
    /**
     * Identifier of an Address Map.
     */
    address_map_id: string;
}
export interface AccountDeleteParams {
    /**
     * Identifier of a Cloudflare account.
     */
    account_id: string;
    /**
     * Identifier of an Address Map.
     */
    address_map_id: string;
}
export declare namespace Accounts {
    export { type AccountUpdateResponse as AccountUpdateResponse, type AccountDeleteResponse as AccountDeleteResponse, type AccountUpdateParams as AccountUpdateParams, type AccountDeleteParams as AccountDeleteParams, };
}
//# sourceMappingURL=accounts.d.ts.map