import { type MessageEnvelope, type MessageType } from '@loopsy/protocol'; export declare class DaemonClient { private apiKey; private baseUrl; private initialized; private initPromise; constructor(apiKey?: string, port?: number); private autoInit; private ensureInit; private request; health(): Promise; status(): Promise; identity(): Promise; listPeers(): Promise<{ peers: any[]; }>; addPeer(address: string, port: number): Promise; execute(command: string, args?: string[], opts?: { cwd?: string; timeout?: number; }): Promise; executeOnPeer(peerAddress: string, peerPort: number, peerApiKey: string, command: string, args?: string[], opts?: { cwd?: string; timeout?: number; }): Promise; setContext(key: string, value: string, ttl?: number): Promise; getContext(key: string): Promise; listContext(prefix?: string): Promise<{ entries: any[]; }>; deleteContext(key: string): Promise; setContextOnPeer(peerAddress: string, peerPort: number, peerApiKey: string, key: string, value: string, ttl?: number): Promise; listContextFromPeer(peerAddress: string, peerPort: number, peerApiKey: string, prefix?: string): Promise; deleteContextFromPeer(peerAddress: string, peerPort: number, peerApiKey: string, key: string): Promise; getContextFromPeer(peerAddress: string, peerPort: number, peerApiKey: string, key: string): Promise; listRemoteFiles(peerAddress: string, peerPort: number, peerApiKey: string, path: string): Promise; /** * Get this machine's hostname from the daemon status endpoint. */ getHostname(): Promise; /** * Send a protocol-compliant message to a peer's inbox on their machine. * Returns the message ID and envelope. */ sendMessage(peerAddress: string, peerPort: number, peerApiKey: string, peerHostname: string, type: MessageType, body: string): Promise<{ id: string; envelope: MessageEnvelope; }>; /** * Check this machine's inbox for messages. * Returns parsed message envelopes sorted by timestamp. */ checkInbox(): Promise>; /** * Acknowledge a received message by setting ack on the sender's machine * and deleting the processed inbox message locally. */ ackMessage(senderAddress: string, senderPort: number, senderApiKey: string, messageKey: string, messageId: string): Promise; /** * Check if a peer has acknowledged our messages. * Returns the last acknowledged message ID or null. */ checkAck(peerHostname: string): Promise; listSessions(): Promise<{ main: any; sessions: any[]; }>; startSession(name: string): Promise; stopSession(name: string): Promise; removeSession(name: string): Promise; pullFile(peerAddress: string, peerPort: number, peerApiKey: string, sourcePath: string): Promise; } //# sourceMappingURL=daemon-client.d.ts.map