/** * @param {BytesLike} bytes * @param {UplcVersion} expectedUplcVersion * @param {Builtin[]} builtins * @returns {UplcTerm} */ export function decodeCborProgram(bytes: BytesLike, expectedUplcVersion: UplcVersion, builtins: Builtin[]): UplcTerm; /** * TODO: investigate if the double envelope is still necessary * @param {UplcTerm} expr * @param {UplcVersion} uplcVersion * @returns {number[]} */ export function encodeCborProgram(expr: UplcTerm, uplcVersion: UplcVersion): number[]; /** * @param {UplcTerm} expr * @param {UplcVersion} uplcVersion * @returns {number[]} */ export function encodeFlatProgram(expr: UplcTerm, uplcVersion: UplcVersion): number[]; /** * @param {number[]} bytes * @param {UplcVersion} expectedUplcVersion * @param {Builtin[]} builtins * @returns {UplcTerm} */ export function decodeFlatProgram(bytes: number[], expectedUplcVersion: UplcVersion, builtins: Builtin[]): UplcTerm; /** * @param {unknown} v * @returns {v is UplcVersion} */ export function isUplcVersion(v: unknown): v is UplcVersion; /** * @param {BytesLike} bytes * @returns {UplcVersion} */ export function decodeCborVersion(bytes: BytesLike): UplcVersion; /** * @param {number[]} bytes * @returns {UplcVersion} */ export function decodeFlatVersion(bytes: number[]): UplcVersion; /** * @param {UplcProgram} program * @returns {number[]} */ export function encodeFullUplcProgram(program: UplcProgram): number[]; /** * @param {BytesLike} bytes * @param {(s: ByteStream) => UplcTerm} decodeRoot * @returns {[UplcTerm, UplcSourceMapJsonSafe | undefined, UplcTerm | undefined, UplcSourceMapJsonSafe | undefined]} */ export function decodeFullUplcProgram(bytes: BytesLike, decodeRoot: (s: ByteStream) => UplcTerm): [UplcTerm, UplcSourceMapJsonSafe | undefined, UplcTerm | undefined, UplcSourceMapJsonSafe | undefined]; /** * @param {Builtin[]} builtins * @param {UplcTerm} expr * @param {UplcValue[] | undefined} args * @param {object} options * @param {CostModel} options.costModel * @param {UplcLogger} [options.logOptions] * @returns {CekResult} */ export function evalProgram(builtins: Builtin[], expr: UplcTerm, args: UplcValue[] | undefined, { costModel, logOptions }: { costModel: CostModel; logOptions?: UplcLogger | undefined; }): CekResult; /** * @param {UplcProgram} program * @returns {number[]} */ export function hashProgram(program: UplcProgram): number[]; import type { BytesLike } from "@helios-lang/codec-utils"; import type { UplcVersion } from "../index.js"; import type { Builtin } from "../index.js"; import type { UplcTerm } from "../index.js"; import type { UplcProgram } from "../index.js"; import type { ByteStream } from "@helios-lang/codec-utils"; import type { UplcSourceMapJsonSafe } from "../index.js"; import type { UplcValue } from "../index.js"; import type { CostModel } from "../index.js"; import type { UplcLogger } from "../index.js"; import type { CekResult } from "../index.js"; //# sourceMappingURL=UplcProgram.d.ts.map