import { type Multiaddr } from '@multiformats/multiaddr'; import { Signer } from 'ethers'; import type { PeerId } from '@libp2p/interface'; import type { AccessList } from './AccessList.js'; export interface ProviderFees { providerFeeAddress: string; providerFeeToken: string; providerFeeAmount: string; v: string; r: string; s: string; providerData: string; validUntil: string; } export interface ProviderInitialize { datatoken: string; nonce: string; computeAddress: string; providerFee: ProviderFees; } export interface ProviderComputeInitialize { datatoken?: string; validOrder?: string; providerFee?: ProviderFees; } export interface ProviderComputeInitializePayment { escrowAddress: string; chainId: number; payee: string; token: string; amount: number; minLockSeconds: number; } export interface ProviderComputeInitializeResults { algorithm?: ProviderComputeInitialize; datasets?: ProviderComputeInitialize[]; payment?: ProviderComputeInitializePayment; } export interface ServiceEndpoint { serviceName: string; method: string; urlPath: string; } export interface NodeP2P { nodeId: string; multiaddress?: Multiaddr[]; } export type OceanNode = string | NodeP2P | PeerId; export interface NodeStatusProvider { chainId: string; network: string; } export interface NodeStatusIndexer { chainId: string; network: string; block: string; } export interface NodeStatus { id: string; publicKey: string; friendlyName: string; address: string; version: string; http: boolean; p2p: boolean; provider: NodeStatusProvider[]; indexer: NodeStatusIndexer[]; escrowAddress: Record; supportedStorage: Record; platform: { cpus: number; freemem: number; totalmem: number; loadavg: number[]; arch: string; machine: string; platform: string; osType: string; node: string; }; codeHash: string; allowedAdmins: { addresses: string[]; accessLists: string[] | null; }; uptime: number; persistentStorage?: { accessLists?: AccessList[]; }; } export interface UserCustomParameters { [key: string]: any; } export declare const PROTOCOL_COMMANDS: { DOWNLOAD: string; ENCRYPT: string; ENCRYPT_FILE: string; DECRYPT_DDO: string; GET_DDO: string; QUERY: string; NONCE: string; STATUS: string; DETAILED_STATUS: string; FIND_DDO: string; GET_FEES: string; FILE_INFO: string; VALIDATE_DDO: string; COMPUTE_GET_ENVIRONMENTS: string; COMPUTE_START: string; FREE_COMPUTE_START: string; COMPUTE_STOP: string; COMPUTE_GET_STATUS: string; COMPUTE_GET_STREAMABLE_LOGS: string; COMPUTE_GET_RESULT: string; COMPUTE_INITIALIZE: string; STOP_NODE: string; REINDEX_TX: string; REINDEX_CHAIN: string; HANDLE_INDEXING_THREAD: string; COLLECT_FEES: string; POLICY_SERVER_PASSTHROUGH: string; GET_P2P_PEER: string; GET_P2P_PEERS: string; GET_P2P_NETWORK_STATS: string; FIND_PEER: string; CREATE_AUTH_TOKEN: string; INVALIDATE_AUTH_TOKEN: string; FETCH_CONFIG: string; PUSH_CONFIG: string; GET_LOGS: string; JOBS: string; PERSISTENT_STORAGE_CREATE_BUCKET: string; PERSISTENT_STORAGE_UPDATE_BUCKET: string; PERSISTENT_STORAGE_GET_BUCKETS: string; PERSISTENT_STORAGE_LIST_FILES: string; PERSISTENT_STORAGE_UPLOAD_FILE: string; PERSISTENT_STORAGE_GET_FILE_OBJECT: string; PERSISTENT_STORAGE_DELETE_FILE: string; }; export interface NodeLogsParams { logId?: string; startTime?: string; endTime?: string; maxLogs?: number; moduleName?: string; level?: string; page?: number; } export interface NodeLogEntry { timestamp: string; level: string; moduleName: string; message: string; meta?: Record; } export interface CompleteSignature { consumerAddress: string; nonce: string; signature: string; } export type SignerOrAuthTokenOrSignature = string | Signer | CompleteSignature;