import type { Account } from "../_internal/types.gen";
import type { RequestOptions } from "../base-client";
import { RequestBuilder } from "../request-builder";
/**
 * Manages platform billing accounts.
 *
 * Each account tracks the credit balance and currency for an API key or workspace.
 * Admin access only — these operations bypass tenant-level authorization.
 */
export declare function createAccountsNamespace(rb: RequestBuilder): {
    /**
     * Lists all billing accounts across the platform.
     *
     * @param options - Optional request options (headers, abort signal).
     * @returns Array of Account objects with current balances.
     */
    list: (options?: RequestOptions) => Promise<Account[]>;
    /**
     * Fetches a single billing account by ID.
     *
     * @param id - Account ID.
     * @param options - Optional request options.
     * @returns The Account record.
     */
    get: (id: string, options?: RequestOptions) => Promise<Account>;
    /**
     * Adds credits to an account balance.
     *
     * Use for manual top-ups, promotional credits, or correction adjustments.
     * The amount must be a positive number greater than zero.
     *
     * @param id - Account ID.
     * @param amount - Number of credits to add (must be > 0).
     * @param description - Optional human-readable reason for the credit.
     * @param options - Optional request options.
     * @returns Updated Account with the new balance.
     * @example
     * ```typescript
     * const account = await admin.accounts.credit(
     *   "acct_123",
     *   5000,
     *   "Manual top-up",
     * );
     * ```
     */
    credit: (id: string, amount: number, description?: string, options?: RequestOptions) => Promise<Account>;
    /**
     * Deducts credits from an account balance.
     *
     * Use for charge-backs, manual usage adjustments, or corrections.
     * The amount must be a positive number greater than zero.
     *
     * @param id - Account ID.
     * @param amount - Number of credits to deduct (must be > 0).
     * @param description - Optional human-readable reason for the debit.
     * @param options - Optional request options.
     * @returns Updated Account with the new balance.
     * @example
     * ```typescript
     * const account = await admin.accounts.debit(
     *   "acct_123",
     *   250,
     *   "Usage correction",
     * );
     * ```
     */
    debit: (id: string, amount: number, description?: string, options?: RequestOptions) => Promise<Account>;
};
//# sourceMappingURL=accounts.d.ts.map