/** * Utility functions for creating and handling CKBFS witnesses */ /** * V3 witness structure for backlinks and content chaining */ export interface CKBFSV3WitnessOptions { previousTxHash?: string; previousWitnessIndex?: number; previousChecksum?: number; nextIndex?: number; content: Uint8Array; } /** * Creates a CKBFS witness with content * @param content The content to include in the witness * @param version Optional version byte (default is 0) * @returns Uint8Array containing the witness data */ export declare function createCKBFSWitness(content: Uint8Array): Uint8Array; /** * Creates a CKBFS witness with text content * @param text The text content to include in the witness * @param version Optional version byte (default is 0) * @returns Uint8Array containing the witness data */ export declare function createTextCKBFSWitness(text: string): Uint8Array; /** * Extracts content from a CKBFS witness * @param witness The CKBFS witness data * @returns Object containing the extracted version and content bytes */ export declare function extractCKBFSWitnessContent(witness: Uint8Array): { version: number; content: Uint8Array; }; /** * Checks if a witness is a valid CKBFS witness * @param witness The witness data to check * @returns Boolean indicating whether the witness is a valid CKBFS witness */ export declare function isCKBFSWitness(witness: Uint8Array): boolean; /** * Creates a CKBFS v3 witness with structured format * @param options Witness options including backlink data and content * @returns Uint8Array containing the v3 witness data */ export declare function createCKBFSV3Witness(options: CKBFSV3WitnessOptions): Uint8Array; /** * Creates an array of v3 witnesses for chunked content * @param contentChunks Array of content chunks * @param options Backlink options for head witness and start index * @returns Array of Uint8Array witnesses */ export declare function createChunkedCKBFSV3Witnesses(contentChunks: Uint8Array[], options?: Omit & { startIndex?: number; }): Uint8Array[]; /** * Extracts content from a CKBFS v3 witness * @param witness The CKBFS v3 witness data * @param isHeadWitness Whether this is the head witness or a continuation witness * @returns Object containing the extracted data */ export declare function extractCKBFSV3WitnessContent(witness: Uint8Array, isHeadWitness?: boolean): { version?: number; previousTxHash?: string; previousWitnessIndex?: number; previousChecksum?: number; nextIndex: number; content: Uint8Array; }; /** * Checks if a witness is a valid CKBFS v3 witness * @param witness The witness data to check * @returns Boolean indicating whether the witness is a valid CKBFS v3 witness */ export declare function isCKBFSV3Witness(witness: Uint8Array): boolean; /** * Creates an array of witnesses for a CKBFS transaction from content chunks * @param contentChunks Array of content chunks * @param version Optional version byte (default is 0) * @returns Array of Uint8Array witnesses */ export declare function createChunkedCKBFSWitnesses(contentChunks: Uint8Array[]): Uint8Array[];