import type { ScanResult } from "../types.js"; export interface ApiConfig { baseUrl: string; apiKey: string; instanceId: string; } export interface ApiResponse { ok: boolean; status: number; data?: T; error?: string; } export interface RegistrationPayload { hostname: string; platform: string; arch: string; nodeVersion: string; protocolVersion: string; label?: string; } export interface RegistrationResult { instanceId: string; apiKey: string; label: string; registeredAt: string; } export interface SyncPayload { instanceId: string; scan: ScanResult; metadata: { hostname: string; platform: string; syncedAt: string; protocolVersion: string; }; } export interface SyncResult { scanId: string; receivedAt: string; projectCount: number; apiCount: number; connectionCount: number; } export interface InstanceStatus { instanceId: string; label: string; lastSync: string | null; scanCount: number; status: "active" | "inactive" | "suspended"; } export interface HeartbeatResult { acknowledged: boolean; serverTime: string; } export declare function loadCredentials(): ApiConfig | null; export declare function saveCredentials(config: ApiConfig): void; export declare function clearCredentials(): void; export declare function getApiBaseUrl(): string; /** * Register this instance with the Carbon6 API. * Returns instance ID and API key for future requests. */ export declare function registerInstance(label?: string): Promise>; /** * Sync a scan result to the Carbon6 cloud. */ export declare function syncScan(scan: ScanResult): Promise>; /** * Get instance status from the Carbon6 API. */ export declare function getInstanceStatus(): Promise>; /** * Send heartbeat to Carbon6 API. */ export declare function heartbeat(): Promise>; /** * Fetch a list of remote scans for this instance. */ export declare function listRemoteScans(limit?: number): Promise>; /** * Delete this instance registration from the Carbon6 API. */ export declare function deregisterInstance(): Promise>; //# sourceMappingURL=client.d.ts.map