import type { DirtyMarkable } from "../"; import { Opcode } from "../spec"; import { type ArrayInstruction } from "./array"; import { type BranchInstruction } from "./branch"; import { type IncrementInstruction } from "./iinc"; import { type InvokeInstruction } from "./invoke"; import { type ConstantInstruction } from "./ldc"; import { type LoadStoreInstruction } from "./load_store"; import { type PushInstruction } from "./push"; import { type LookupSwitchInstruction, type SwitchInstruction, type TableSwitchInstruction } from "./switch"; import { type TypeInstruction } from "./type"; import { type WideInstruction } from "./wide"; export interface Instruction extends DirtyMarkable { opcode: number | Opcode; operands: Uint8Array; offset: number; length: number; wide?: boolean; } export declare const readInsns: (data: Uint8Array) => Instruction[]; export declare const writeInsns: (insns: Instruction[]) => Uint8Array; export { ArrayInstruction, BranchInstruction, ConstantInstruction, IncrementInstruction, InvokeInstruction, LoadStoreInstruction, LookupSwitchInstruction, PushInstruction, SwitchInstruction, TableSwitchInstruction, TypeInstruction, WideInstruction, };