import { QuickBooksBaseAction } from '../quickbooks-base.action';
import { ActionResultSimple, RunActionParams } from '@memberjunction/actions-base';
/**
 * Standard transaction interface
 */
export interface Transaction {
    id: string;
    transactionType: string;
    transactionNumber?: string;
    transactionDate: Date;
    amount: number;
    currency: string;
    status?: string;
    referenceNumber?: string;
    memo?: string;
    entityName?: string;
    entityId?: string;
    lines: TransactionLine[];
    metadata: Record<string, any>;
}
export interface TransactionLine {
    id: string;
    lineNumber: number;
    description?: string;
    amount: number;
    accountId?: string;
    accountName?: string;
    itemId?: string;
    itemName?: string;
    quantity?: number;
    rate?: number;
}
/**
 * Action to retrieve transactions from QuickBooks Online
 */
export declare class GetQuickBooksTransactionsAction extends QuickBooksBaseAction {
    /**
     * Description of the action
     */
    get Description(): string;
    /**
     * Main execution method
     */
    protected InternalRunAction(params: RunActionParams): Promise<ActionResultSimple>;
    /**
     * Get transactions of a specific type
     */
    private getTransactionsByType;
    /**
     * Map QuickBooks transaction to standard format
     */
    private mapQuickBooksTransaction;
    /**
     * Get transaction status based on type
     */
    private getTransactionStatus;
    /**
     * Get entity name based on transaction type
     */
    private getEntityName;
    /**
     * Get entity ID based on transaction type
     */
    private getEntityId;
    /**
     * Map transaction lines
     */
    private mapTransactionLines;
    /**
     * Get account ID from line detail
     */
    private getLineAccountId;
    /**
     * Get account name from line detail
     */
    private getLineAccountName;
}
//# sourceMappingURL=get-transactions.action.d.ts.map