import { Program } from '@coral-xyz/anchor';
import { Connection, Finality, PublicKey, TransactionResponse, TransactionSignature } from '@solana/web3.js';
import { WrappedEvents } from './types';
type Log = {
    txSig: TransactionSignature;
    slot: number;
    logs: string[];
};
type FetchLogsResponse = {
    earliestTx: string;
    mostRecentTx: string;
    earliestSlot: number;
    mostRecentSlot: number;
    transactionLogs: Log[];
    mostRecentBlockTime: number | undefined;
};
export declare function fetchLogs(connection: Connection, address: PublicKey, finality: Finality, beforeTx?: TransactionSignature, untilTx?: TransactionSignature, limit?: number, batchSize?: number): Promise<FetchLogsResponse>;
export declare function fetchTransactionLogs(connection: Connection, signatures: TransactionSignature[], finality: Finality): Promise<Log[]>;
export declare class LogParser {
    private program;
    constructor(program: Program);
    parseEventsFromTransaction(transaction: TransactionResponse): WrappedEvents;
    parseEventsFromLogs(event: Log): WrappedEvents;
}
export {};
