// 4NK SDK Client WASM TypeScript Declarations (flate2 compatible) export interface ApiReturn { success: boolean; data?: T; error?: string; new_tx_to_send?: any; commit_to_send?: any; partial_tx?: any; secrets?: any; updated_process?: any; push_to_storage?: any; ciphers_to_send?: any; } export interface Device { id: string; name: string; description?: string; created_at?: string; updated_at?: string; } export interface Process { id: string; name: string; description?: string; device_id: string; state: ProcessState; states: ProcessState[]; // Added for compatibility created_at?: string; updated_at?: string; } export interface Member { id: string; name: string; public_key: string; process_id: string; roles: string[]; sp_addresses?: string[]; // Added for compatibility created_at?: string; updated_at?: string; } export interface Role { id: string; name: string; description?: string; process_id: string; members: string[]; validation_rules: ValidationRule[]; created_at?: string; updated_at?: string; } export interface ValidationRule { id: string; field_name: string; rule_type: ValidationRuleType; parameters?: any; role_id: string; quorum?: number; // Added for compatibility created_at?: string; updated_at?: string; } export interface Commitment { id: string; hash: string; data: any; process_id: string; created_at?: string; updated_at?: string; } export interface Signature { id: string; signature: string; commitment_id: string; public_key: string; created_at?: string; updated_at?: string; } export interface HandshakeMessage { id: string; message_type: string; data: any; device_id: string; sp_address?: string; // Added for compatibility peers_list?: Record; // Added for compatibility processes_list?: Record; // Added for compatibility created_at?: string; updated_at?: string; } export interface ProcessState { commited_in: any; pcd_commitment: any; state_id: string; keys: Record; validation_tokens: any[]; public_data: any; roles: Record; } export interface RoleDefinition { members: any[]; validation_rules: Record; } export interface OutPointProcessMap { [key: string]: any; } export interface MerkleProofResult { proof: any[]; root: string; leaf: string; } export interface SecretsStore { [key: string]: any; } export interface UserDiff { added: any[]; removed: any[]; modified: any[]; } // Enums export const AnkFlag: { VALIDATION_YES: "validation_yes"; VALIDATION_NO: "validation_no"; NEW_TX: "NewTx"; COMMIT: "Commit"; CIPHER: "Cipher"; FAUCET: "Faucet"; }; export const ProcessState: { DRAFT: "draft"; ACTIVE: "active"; COMPLETED: "completed"; CANCELLED: "cancelled"; }; export const MemberRole: { OWNER: "owner"; ADMIN: "admin"; MEMBER: "member"; GUEST: "guest"; }; export const ValidationRuleType: { REQUIRED: "required"; MIN_LENGTH: "min_length"; MAX_LENGTH: "max_length"; PATTERN: "pattern"; CUSTOM: "custom"; }; // Function signatures export function init(): Promise; export function setup(): void; // Device functions export function create_device(name: string, description?: string): ApiReturn; export function create_new_device(network: number, name: string): ApiReturn; export function get_device(id: string): ApiReturn; export function list_devices(): ApiReturn; export function delete_device(id: string): ApiReturn; export function dump_device(): any; export function restore_device(device: any): void; export function get_address(): string; export function pair_device(processId: string, addresses: string[]): void; export function unpair_device(): void; export function is_paired(): boolean; export function get_pairing_process_id(): string; // Process functions export function create_process(device_id: string, name: string, description?: string): ApiReturn; export function create_new_process(privateData: any, roles: any, publicData: any, relayAddress: string, feeRate: number, membersList: any): ApiReturn; export function get_process(id: string): ApiReturn; export function list_processes(): ApiReturn; export function delete_process(id: string): ApiReturn; export function update_process(process: any, newAttributes: any, newRoles: any, newPublicData: any, membersList: any): ApiReturn; // Member functions export function create_member(process_id: string, name: string, public_key: string): ApiReturn; export function get_member(id: string): ApiReturn; export function list_members(process_id: string): ApiReturn; export function delete_member(id: string): ApiReturn; // Role functions export function create_role(process_id: string, name: string, description?: string): ApiReturn; export function get_role(id: string): ApiReturn; export function list_roles(process_id: string): ApiReturn; export function delete_role(id: string): ApiReturn; export function assign_member_to_role(member_id: string, role_id: string): ApiReturn; export function remove_member_from_role(member_id: string, role_id: string): ApiReturn; // Validation rule functions export function create_validation_rule(role_id: string, field_name: string, rule_type: ValidationRuleType, parameters?: any): ApiReturn; export function get_validation_rule(id: string): ApiReturn; export function list_validation_rules(role_id: string): ApiReturn; export function delete_validation_rule(id: string): ApiReturn; // Commitment functions export function create_commitment(process_id: string, data: any): ApiReturn; export function get_commitment(id: string): ApiReturn; export function list_commitments(process_id: string): ApiReturn; export function delete_commitment(id: string): ApiReturn; // Signature functions export function create_signature(commitment_id: string, private_key: string): ApiReturn; export function verify_signature(commitment_id: string, signature: string, public_key: string): ApiReturn<{ valid: boolean }>; export function list_signatures(commitment_id: string): ApiReturn; export function delete_signature(id: string): ApiReturn; export function sign_transaction(partial_tx: any): ApiReturn; // Transaction functions export function create_transaction(addresses: any, amount: number): ApiReturn; export function create_silent_payment_address(scan_key: string, spend_key: string): ApiReturn; export function create_silent_payment_transaction(scan_key: string, spend_key: string, outputs: any[]): ApiReturn; export function get_available_amount(): bigint; export function create_faucet_msg(): any; // Message parsing functions export function parse_cipher(message: any, membersList: any, processes: any): ApiReturn; export function parse_new_tx(tx: any, network: number, membersList: any): ApiReturn; export function create_update_message(process: any, stateId: string, membersList: any): ApiReturn; export function validate_state(process: any, stateId: string, membersList: any): ApiReturn; export function request_data(processId: string, stateIds: string[], roles: string[], membersList: any): ApiReturn; // Encoding/Decoding functions export function encode_json(data: any): any; export function encode_binary(data: any): any; export function decode_value(data: Uint8Array): any; export function decrypt_data(key: Uint8Array, cipher: any): Uint8Array; // Compression functions export function compress_data(data: string): Promise>; export function decompress_data(compressed_data: string): Promise>; // Handshake functions export function create_handshake_message(device_id: string, message_type: string, data: any): ApiReturn; export function verify_handshake_message(message: HandshakeMessage, public_key: string): ApiReturn<{ valid: boolean }>; // Encryption functions export function create_encrypted_message(data: any, public_key: string): ApiReturn<{ encrypted: string }>; export function decrypt_message(encrypted_data: string, private_key: string): ApiReturn<{ decrypted: string }>; // Hash functions export function create_hash(data: string): ApiReturn<{ hash: string }>; export function verify_hash(data: string, hash: string): ApiReturn<{ valid: boolean }>; // Utility functions export function create_random_bytes(length: number): ApiReturn<{ bytes: string }>; export function create_uuid(): ApiReturn<{ uuid: string }>; export function get_timestamp(): ApiReturn<{ timestamp: number }>; export function validate_input(input: any, validation_rules: ValidationRule[]): ApiReturn<{ valid: boolean; errors: string[] }>; export function format_output(output: any, format_type: string): ApiReturn<{ formatted: string }>; export function log_message(level: string, message: string): ApiReturn; export function get_version(): ApiReturn<{ version: string }>; export function get_health_status(): ApiReturn<{ status: string; uptime: number }>; // Default export export default { init, setup, create_device, create_new_device, get_device, list_devices, delete_device, dump_device, restore_device, get_address, pair_device, unpair_device, is_paired, get_pairing_process_id, create_process, create_new_process, get_process, list_processes, delete_process, update_process, create_member, get_member, list_members, delete_member, create_role, get_role, list_roles, delete_role, assign_member_to_role, remove_member_from_role, create_validation_rule, get_validation_rule, list_validation_rules, delete_validation_rule, create_commitment, get_commitment, list_commitments, delete_commitment, create_signature, verify_signature, list_signatures, delete_signature, sign_transaction, create_transaction, create_silent_payment_address, create_silent_payment_transaction, get_available_amount, create_faucet_msg, parse_cipher, parse_new_tx, create_update_message, validate_state, request_data, encode_json, encode_binary, decode_value, decrypt_data, compress_data, decompress_data, create_handshake_message, verify_handshake_message, create_encrypted_message, decrypt_message, create_hash, verify_hash, create_random_bytes, create_uuid, get_timestamp, validate_input, format_output, log_message, get_version, get_health_status, AnkFlag, ProcessState, MemberRole, ValidationRuleType };