import { QuickBooksBaseAction } from '../quickbooks-base.action.js';
import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
/**
 * Account balance information
 */
export interface AccountBalance {
    accountId: string;
    accountCode: string;
    accountName: string;
    accountType: string;
    accountSubType: string;
    normalBalance: 'Debit' | 'Credit';
    currentBalance: number;
    balanceWithSubAccounts: number;
    currency: string;
    asOfDate: Date;
    isActive: boolean;
    level: number;
    parentAccountId?: string;
    parentAccountName?: string;
}
/**
 * Trial balance summary
 */
export interface TrialBalanceSummary {
    totalDebits: number;
    totalCredits: number;
    isBalanced: boolean;
    difference: number;
    asOfDate: Date;
}
/**
 * Action to retrieve account balances (trial balance) from QuickBooks Online
 */
export declare class GetQuickBooksAccountBalancesAction extends QuickBooksBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Main execution method
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Get accounts from QuickBooks
     */
    private getAccounts;
    /**
     * Calculate trial balance summary
     */
    private calculateTrialBalanceSummary;
    /**
     * Summarize balances by account type
     */
    private summarizeByAccountType;
    /**
     * Determines the normal balance based on account classification
     */
    private determineNormalBalance;
}
//# sourceMappingURL=get-account-balances.action.d.ts.map