import { ELF, ELFSegment, ELFSection, ELFSymbol } from "./types"; /** Get a consolidates array of all the symbols in the file. * @param elf the ELF file. * @returns an array of symbols. */ export declare function getSymbols(elf: ELF): ELFSymbol[]; /** Get all the symbols that are addressed inside a given section. * @param elf the ELF file. * @param {ELFSection | number} sectionOrIndex either the section or the index of the section. * @returns {ELFSymbol[]} an array of symbols that are addressed in the section. */ export declare function getSymbolsInSection(elf: ELF, sectionOrIndex: ELFSection | number): ELFSymbol[]; /** Get all the symbols that are addressed inside a given segment. * @param {ELFSegment | number} segmentOrIndex either the segment or the index of the segment. * @returns {ELFSymbol[]} an array of symbols that are addressed in the segment. */ export declare function getSymbolsInSegment(elf: ELF, segmentOrIndex: ELFSegment | number): ELFSymbol[]; /** Get all the section that are addressed inside a given segment. * @param {ELFSegment | number} segmentOrIndex either the segment or the index of the segment. * @returns {ELFSection[]} an array of sections that are addressed in the segment. */ export declare function getSectionsInSegment(elf: ELF, segmentOrIndex: ELFSegment | number): ELFSection[]; /** Get the first section in which a symbol is addressed. * @param {Symbol} symbol The symbol * @returns {ELFSection[]} an array of sections that contain the symbol. */ export declare function getSectionsForSymbol(elf: ELF, symbol: ELFSymbol): ELFSection[]; /** Get all sections in which a symbol is addressed. * @param {Symbol} symbol The symbol * @returns {ELFSection} the first section which contains the symbol. */ export declare function getSectionForSymbol(elf: ELF, symbol: ELFSymbol): ELFSection; /** Get the first segment in which a symbol is addressed. * @param {Symbol} symbol The symbol * @returns {ELFSection} all segments which contain the symbol. */ export declare function getSegmentsForSymbol(elf: ELF, symbol: ELFSymbol): ELFSegment[]; /** Get the first segment in which a symbol is addressed. * @param {Symbol} symbol The symbol * @returns {ELFSection} the first segment which contains the symbol. */ export declare function getSegmentForSymbol(elf: ELF, symbol: ELFSymbol): ELFSegment | undefined; /** Find all symbols inside that overlap a given virtual memory location. * @param {number | bigint} location The virtual memory address. * @returns {ELFSymbol[]} an array of symbols that contain the location. */ export declare function getSymbolsAtVirtualMemoryLocation(elf: ELF, location: number | bigint): ELFSymbol[]; /** Find all symbols inside that overlap a given physical memory location. * @param {number | bigint} location The physical memory address. * @returns {ELFSymbol[]} an array of symbols that contain the location. */ export declare function getSymbolsAtPhysicalMemoryLocation(elf: ELF, location: number | bigint): ELFSymbol[]; /** Get all the sections that overlap a given virtual memory location * @param {number | bigint} location The virtual memory address. * @returns {ELFSection[]} an array of sections that find the location inside of them. */ export declare function getSectionsAtVirtualMemoryLocation(elf: ELF, location: number | bigint): ELFSection[]; /** Get all the sections that overlap a given physical memory location * @param {number | bigint} location The physical memory address. * @returns {ELFSection[]} an array of sections that find the location inside of them. */ export declare function getSectionsAtPhysicalMemoryLocation(elf: ELF, location: number | bigint): ELFSection[]; /** Get all the segments that overlap a given virtual memory location * @param {number | bigint} location The virtual memory address. * @returns {ELFSection} all segments which contain the address. */ export declare function getSegmentsAtVirtualMemoryLocation(elf: ELF, location: number | bigint): ELFSegment[]; /** Get all the segments that overlap a given physical memory location * @param {number | bigint} location The physical memory address. * @returns {ELFSection} all segments which contain the address. */ export declare function getSegmentsAtPhysicalMemoryLocation(elf: ELF, location: number | bigint): ELFSegment[]; /** translate a virtual address to a physical address, if possible. * @param location The virtual memory address. * @returns the physical address. */ export declare function virtualAddressToPhysical(elf: ELF, location: number | bigint): number | bigint | undefined; /** translate a virtual address to an offset in the ELF file, if possible. * @param {number | bigint} location The virtual memory address. * @returns {number | bigint} the file offset. */ export declare function virtualAddressToFileOffset(elf: ELF, location: number | bigint): number | undefined; /** translate a physical address to a virtual address. * @param {number | bigint} location The physical memory address. * @returns {number | bigint} the virtual address. */ export declare function physicalAddressToVirtual(elf: ELF, location: number | bigint): number | bigint | undefined; /** translate a physical address to an offset in the ELF file. * @param {number | bigint} location The physical memory address. * @returns {number | bigint} the file offset. */ export declare function physicalAddressToFileOffset(elf: ELF, location: number | bigint): number | undefined; /** translate a file offset to a physical address, if possible. * @param {number} location The file offset. * @returns {number | bigint} the physical address. */ export declare function fileOffsetToPhysicalAddress(elf: ELF, location: number): number | bigint | undefined; /** translate a file offset to a virtual address, if possible. * @param {number} location The file offset. * @returns {number | bigint} the virtual address. */ export declare function fileOffsetToVirtualAddress(elf: ELF, location: number): number | bigint | undefined; /** Get the first section that matches the name (case-insensitive). * @param {string} sectionName the name of the section to find. * @returns {ELFSection} The first section that matches the name */ export declare function getSectionByName(elf: ELF, sectionName: string): ELFSection; /** Get all sections that matches the name (case-insensitive). * @param {string} sectionName the name of the sections to find. * @returns {ELFSection[]} an array of sections that match the name. */ export declare function getSectionsByName(elf: ELF, sectionName: string): ELFSection[]; /** Get the first symbol that matches the name (case-insensitive). * @param {string} symbolName the name of the symbol to find. * @returns {ELFSymbol[]} an array of symbols that match the name. */ export declare function getSymbolByName(elf: ELF, symbolName: string): ELFSymbol | undefined; /** Get all symbols that matches the name (case-insensitive). * @param {string} symbolName the name of the symbols to find. * @returns {ELFSymbol[]} an array of symbols that match the name. * */ export declare function getSymbolsByName(elf: ELF, symbolName: string): ELFSymbol[];