import { OnStatusUpdateFn } from './useTransactionSigner';
import type { TransactionRequestDTO, TransactionRequestResponseDTO, TransactionDTO, TransactionPaginationRequestDTO, PaginatedResponseDTO, TransactionIncludeRelation } from '@explorins/pers-sdk';
import type { TransactionQueryOptions } from '@explorins/pers-sdk/transaction';
export type { TransactionQueryOptions } from '@explorins/pers-sdk/transaction';
/**
 * React hook for transaction operations in the PERS SDK
 *
 * Provides comprehensive transaction management including creation, retrieval, history,
 * and administrative operations. Supports pagination and CSV export functionality.
 *
 * @returns Transaction hook with methods for transaction management
 *
 * @example
 * ```typescript
 * function TransactionsComponent() {
 *   const {
 *     createTransaction,
 *     getUserTransactionHistory
 *   } = useTransactions();
 *
 *   const handleCreateTransaction = async (request) => {
 *     try {
 *       const result = await createTransaction(request);
 *       console.log('Transaction created:', result);
 *       // Handle signature URL if returned
 *     } catch (error) {
 *       console.error('Transaction failed:', error);
 *     }
 *   };
 *
 *   return (
 *     <div>
 *       <button onClick={() => handleCreateTransaction(transactionRequest)}>
 *         Create Transaction
 *       </button>
 *     </div>
 *   );
 * }
 * ```
 */
export declare const useTransactions: () => {
    createTransaction: (request: TransactionRequestDTO, onStatusUpdate?: OnStatusUpdateFn) => Promise<TransactionRequestResponseDTO>;
    getTransactionById: (transactionId: string, include?: TransactionIncludeRelation[]) => Promise<TransactionDTO | null>;
    getUserTransactionHistory: (options?: TransactionQueryOptions) => Promise<PaginatedResponseDTO<TransactionDTO>>;
    getPaginatedTransactions: (options: TransactionPaginationRequestDTO & {
        include?: TransactionIncludeRelation[];
    }) => Promise<PaginatedResponseDTO<TransactionDTO>>;
    exportTransactionsCSV: () => Promise<Blob>;
    isAvailable: boolean;
    signingStatus: import("@explorins/pers-signer").SigningStatus | null;
    signingStatusMessage: string | null;
};
export type TransactionHook = ReturnType<typeof useTransactions>;
//# sourceMappingURL=useTransactions.d.ts.map