/** * Lightweight TypeScript client for the Headscale REST API (v1). * * Covers users, preauthkeys, nodes, and API keys — the operations * needed by sudopod CLI commands (tailscale connect, create-key, etc.). * * @see s-5dat - Sudopod Tailscale CLI Support */ export interface HeadscaleUser { id: string; name: string; createdAt: string; } export interface HeadscalePreAuthKey { id: string; key: string; user: HeadscaleUser; reusable: boolean; ephemeral: boolean; used: boolean; expiration: string; createdAt: string; } export interface HeadscaleNode { id: string; name: string; givenName: string; ipAddresses: string[]; online: boolean; user: HeadscaleUser; lastSeen: string; createdAt: string; } export interface HeadscaleClientOptions { baseUrl: string; apiKey: string; } export declare class HeadscaleClient { private baseUrl; private apiKey; constructor(options: HeadscaleClientOptions); createUser(name: string): Promise; listUsers(): Promise; deleteUser(id: string): Promise; createPreauthKey(userId: string, options?: { expiry?: string; reusable?: boolean; ephemeral?: boolean; }): Promise; listPreauthKeys(userId: string): Promise; listNodes(): Promise; getNode(nodeId: string): Promise; deleteNode(nodeId: string): Promise; createApiKey(expiration?: string): Promise; private request; } export declare class HeadscaleApiError extends Error { readonly status: number; readonly statusText: string; readonly body: string; readonly path: string; constructor(status: number, statusText: string, body: string, path: string); } //# sourceMappingURL=client.d.ts.map