import type { AppConfig } from "../config/env.js"; import type { AppLogger } from "../observability/logger.js"; export interface ApiResult { success: boolean; data?: T; error?: string; statusCode?: number; } export declare class TailscaleApiClient { private readonly config; private readonly logger; private readonly oauth; constructor(config: AppConfig, logger: AppLogger); listDevices(options?: { includeRoutes?: boolean; }): Promise>; getDevice(deviceId: string): Promise>; setDeviceAuthorized(deviceId: string, authorized: boolean): Promise>; deleteDevice(deviceId: string): Promise>; expireDeviceKey(deviceId: string): Promise>; getDeviceRoutes(deviceId: string): Promise>; setDeviceRoutes(deviceId: string, routes: string[]): Promise>; getTailnetInfo(): Promise>; getACL(): Promise>; updateACL(aclConfig: string): Promise>; validateACL(aclConfig: string): Promise>; getDNSNameservers(): Promise>; setDNSNameservers(nameservers: string[]): Promise>; getDNSPreferences(): Promise>; setDNSPreferences(magicDNS: boolean): Promise>; getDNSSearchPaths(): Promise>; setDNSSearchPaths(searchPaths: string[]): Promise>; listAuthKeys(): Promise>; createAuthKey(keyConfig: unknown): Promise>; deleteAuthKey(keyId: string): Promise>; getTailnetSettings(): Promise>; setTailnetSettings(settings: unknown): Promise>; listWebhooks(): Promise>; createWebhook(config: unknown): Promise>; deleteWebhook(webhookId: string): Promise>; testWebhook(webhookId: string): Promise>; setDeviceTags(deviceId: string, tags: string[]): Promise>; private get tailnet(); private authHeader; private request; } //# sourceMappingURL=api-client.d.ts.map