import type { Device, DnsSettings, PolicyDocument, ResolvedConfig } from "./types.js"; export declare class ApiError extends Error { readonly status: number; readonly code: string; readonly retryable: boolean; constructor(message: string, status: number, code?: string); } export declare function sanitizeServerText(text: string): string; export interface AuthKeyCreateOptions { reusable: boolean; ephemeral: boolean; preauthorized: boolean; tags: string[]; expirySeconds?: number; } export interface CreatedAuthKey { key: string; id?: string; expires?: string; capabilities?: unknown; } export interface PolicySnapshot { content: string; etag?: string; json?: PolicyDocument; } export declare class TailscaleApiClient { private readonly config; private readonly auth; private oauthToken?; constructor(config: ResolvedConfig, env?: NodeJS.ProcessEnv, credentialEnvName?: string); hasCredentials(): boolean; private oauthAccessToken; private request; private tailnet; listDevices(): Promise; getDevice(id: string): Promise; deleteDevice(id: string): Promise; createAuthKey(options: AuthKeyCreateOptions): Promise; getPolicy(): Promise; getPolicyHuJson(): Promise<{ content: string; etag?: string; }>; validatePolicy(policy: PolicyDocument): Promise; validatePolicyText(content: string): Promise; updatePolicy(content: string, etag?: string): Promise; getDns(): Promise; enableMagicDns(): Promise; getTailnetSettings(): Promise<{ httpsEnabled?: boolean; }>; enableHttps(): Promise; } export declare function apiCredentialHint(env?: NodeJS.ProcessEnv): string; //# sourceMappingURL=api.d.ts.map