import { Transaction } from '../entities/transaction';
import { PaginationOptions } from './pagination-options';
export interface TransactionFilters {
    readonly walletId?: string;
    readonly networkId?: string;
    readonly tokenId?: string;
    readonly status?: string;
    readonly method?: string;
}
export interface ITransactionRepository {
    findById(id: string): Promise<Transaction | null>;
    findByHash(hash: string): Promise<Transaction | null>;
    findByAddressIds(addressIds: string[], options?: PaginationOptions): Promise<Transaction[]>;
    findByFilters(filters: TransactionFilters, options?: PaginationOptions): Promise<Transaction[]>;
    save(transaction: Transaction): Promise<Transaction>;
    update(transaction: Transaction): Promise<Transaction>;
    delete(id: string): Promise<void>;
}
//# sourceMappingURL=transaction-repository.d.ts.map