import { Script, Signer, Transaction } from "@ckb-ccc/core"; import { calculateChecksum, verifyChecksum, updateChecksum, verifyWitnessChecksum, verifyV3WitnessChecksum, verifyV3WitnessChain } from "./utils/checksum"; import { createCKBFSCell, createPublishTransaction as utilCreatePublishTransaction, preparePublishTransaction, createAppendTransaction as utilCreateAppendTransaction, prepareAppendTransaction, createAppendTransactionDry, publishCKBFS as utilPublishCKBFS, appendCKBFS as utilAppendCKBFS, CKBFSCellOptions, PublishOptions, AppendOptions, AppendV3Options, TransferV3Options, publishCKBFSV3, appendCKBFSV3, transferCKBFSV3, createPublishV3Transaction, prepareAppendV3Transaction, preparePublishV3Transaction, createAppendV3Transaction, createAppendV3TransactionDry, createTransferV3Transaction } from "./utils/transaction"; import { readFile, readFileAsText, readFileAsUint8Array, writeFile, getContentType, splitFileIntoChunks, combineChunksToFile, getFileContentFromChain, saveFileFromChain, getFileContentFromChainByTypeId, saveFileFromChainByTypeId, decodeFileFromChainByTypeId, getFileContentFromChainByIdentifier, saveFileFromChainByIdentifier, decodeFileFromChainByIdentifier, parseIdentifier, IdentifierType, decodeWitnessContent, decodeMultipleWitnessContents, extractFileFromWitnesses, decodeFileFromWitnessData, saveFileFromWitnessData, getFileContentFromChainV3, getFileContentFromChainByIdentifierV3, saveFileFromChainByIdentifierV3, resolveCKBFSCell } from "./utils/file"; import { createCKBFSWitness, createTextCKBFSWitness, extractCKBFSWitnessContent, isCKBFSWitness, createChunkedCKBFSWitnesses, createCKBFSV3Witness, createChunkedCKBFSV3Witnesses, extractCKBFSV3WitnessContent, isCKBFSV3Witness, CKBFSV3WitnessOptions } from "./utils/witness"; import { CKBFSData, BackLinkV1, BackLinkV2, CKBFSDataType, BackLinkType, CKBFS_HEADER, CKBFS_HEADER_STRING } from "./utils/molecule"; import { NetworkType, ProtocolVersion, ProtocolVersionType, DEFAULT_NETWORK, DEFAULT_VERSION, CKBFS_CODE_HASH, CKBFS_TYPE_ID, ADLER32_CODE_HASH, ADLER32_TYPE_ID, DEP_GROUP_TX_HASH, DEPLOY_TX_HASH, getCKBFSScriptConfig, CKBFSScriptConfig } from "./utils/constants"; /** * Custom options for file publishing and appending */ export interface FileOptions { contentType?: string; filename?: string; capacity?: bigint; feeRate?: number; network?: NetworkType; version?: ProtocolVersionType; useTypeID?: boolean; } /** * Options required when publishing content directly (string or Uint8Array) */ export type PublishContentOptions = Omit & Required> & { capacity?: bigint; }; /** * Options required when appending content directly (string or Uint8Array) */ export type AppendContentOptions = Omit & { capacity?: bigint; witnessStartIndex?: number; }; /** * Configuration options for the CKBFS SDK */ export interface CKBFSOptions { chunkSize?: number; version?: ProtocolVersionType; useTypeID?: boolean; network?: NetworkType; rpcUrl?: string; } /** * Main CKBFS SDK class */ export declare class CKBFS { private signer; private chunkSize; private network; private version; private useTypeID; private rpcUrl; /** * Creates a new CKBFS SDK instance * @param signerOrPrivateKey The signer instance or CKB private key to use for signing transactions * @param networkOrOptions The network type or configuration options * @param options Additional configuration options when using privateKey */ constructor(signerOrPrivateKey: Signer | string, networkOrOptions?: NetworkType | CKBFSOptions, options?: CKBFSOptions); /** * Gets the recommended address object for the signer * @returns Promise resolving to the address object */ getAddress(): Promise; /** * Gets the lock script for the signer * @returns Promise resolving to the lock script */ getLock(): Promise