import { Program, BN, BorshAccountsCoder, Idl } from "@coral-xyz/anchor";
import { PublicKey, Connection, Finality, SignaturesForAddressOptions } from "@solana/web3.js";
export declare function findProgramAddress(label: string, program: PublicKey, extraSeeds?: string[]): {
    publicKey: PublicKey;
    bump: number;
};
export declare function readEvents<IDL extends Idl = Idl>(connection: Connection, txSignature: string, programs: Program<IDL>[], commitment?: Finality): Promise<any[]>;
export declare function getEvent(events: any[], program: PublicKey, eventName: string): any;
export declare function readProgramEvents(connection: Connection, program: Program<any>, options?: SignaturesForAddressOptions, finality?: Finality): Promise<any[]>;
export declare function subscribeToCpiEventsForProgram(connection: Connection, program: Program<any>, callback: (events: any[]) => void): Promise<number>;
export declare const evmAddressToPublicKey: (address: string) => PublicKey;
export declare function calculateRelayHashUint8Array(relayData: any, chainId: BN): Uint8Array;
export declare const readUInt256BE: (buffer: Buffer) => BigInt;
export declare class LargeAccountsCoder<A extends string = string> extends BorshAccountsCoder<A> {
    private getAccountLayouts;
    encode<T = any>(accountName: A, account: T): Promise<Buffer>;
}
