import type { TEALStack } from "../types"; export declare class Op { /** * assert stack length is atleast minLen * @param stack TEAL stack * @param minLen length to check from * @param line line number in TEAL file */ assertMinStackLen(stack: TEALStack, minLen: number, line: number): void; /** * asserts number is less than or equal to MAX_UINT64 * @param num number to check * @param line line number in TEAL file */ checkOverflow(num: bigint, line: number): void; /** * asserts number is greater than MIN_UINT64 (0n) * @param num number to check * @param line line number in TEAL file */ checkUnderflow(num: bigint, line: number): void; /** * asserts if index exist in given array * @param idx index number * @param arr array to check from * @param line line number in TEAL file */ checkIndexBound(idx: number, arr: any[], line: number): void; /** * asserts if array length is less than equal to MAX_UINT8 (255) and not equal to 0 * @param arr array * @param line line number in TEAL file */ assertArrLength(arr: Uint8Array[] | BigInt[], line: number): void; /** * asserts if given variable type is bigint * @param a variable * @param line line number in TEAL file */ assertBigInt(a: unknown, line: number): bigint; /** * asserts if given variable type is bytes * @param b variable * @param line line number in TEAL file */ assertBytes(b: unknown, line: number): Uint8Array; /** * asserts if given bigint is an 8 bit unsigned integer * @param a value to assert (in bigint) * @param line line number in TEAL file */ assertUint8(a: bigint, line: number): bigint; /** * Returns substring from given string (if it exists) * @param start starting index * @param end ending index * @param byteString given string as bytes * @param line line number in TEAL file */ subString(start: bigint, end: bigint, byteString: Uint8Array, line: number): Uint8Array; /** * asserts if known transaction field is passed * @param str transaction field * @param tealVersion version of TEAL * @param line line number in TEAL file */ assertTxFieldDefined(str: string, tealVersion: number, line: number): void; /** * asserts if known transaction field of type array is passed * @param str transaction field * @param tealVersion version of TEAL * @param line line number in TEAL file */ assertTxArrFieldDefined(str: string, tealVersion: number, line: number): void; /** * asserts if known global field is passed * @param str global field * @param tealVersion version of TEAL * @param line line number in TEAL file */ assertGlobalDefined(str: string, tealVersion: number, line: number): void; /** * Push 1n if boolean is true else push 0n. Returns TEAL stack * @param stack TEAL stack * @param ok boolean */ pushBooleanCheck(stack: TEALStack, ok: boolean): TEALStack; }