import { ByteString } from "../smart-contract/types/index.js"; export type ContractHeader = { version: bigint; md5: ByteString; tags: string[]; }; /** * Fields allowed in header, like ordinals */ export declare const CONTRACT_HEADER_FIELD_FLAGS: { MD5: import("../smart-contract/types/primitives.js").OpCodeType; TAGS: import("../smart-contract/types/primitives.js").OpCodeType; }; export type ContractHeaderField = keyof typeof CONTRACT_HEADER_FIELD_FLAGS; export declare class ContractHeaderSerializer { static readonly VERSION = 1n; static readonly SCRYPT_SYMBOL = "736372"; private static readonly LIMIT; private static readonly ENVELOPE; static get ENVELOPE_HEAD_HEX(): string; static get ENVELOPE_TAIL_HEX(): string; /** * serialize the header, and concat the serialized header with the lockingScript without header * @param {ContractHeader} header the contract header * @param {string} contractLockingScript the lockingScript without header * @returns the script that used by transaction output */ static serialize(header: ContractHeader, contractLockingScript: ByteString): ByteString; /** * deserialize the header and lockingScript from the transaction output script * @param txOutScript the transaction output script * @returns the header and the contractLockingScript */ static deserialize(txOutScript: ByteString): { header: ContractHeader | null; lockingScript: string; }; private static pushField; private static pushCbor; private static pushShortField; static sealHeader(header: ContractHeader): string; static unsealHeader(txOutScript: ByteString): { header: ContractHeader | null; lockingScript: string; }; } //# sourceMappingURL=contractHeader.d.ts.map