import type { BootConfig, Cancellation, Failover, Firewall, FirewallRule, FirewallTemplate, IP, LinuxConfig, Mac, Rdns, RescueConfig, Reset, ResetType, Server, ServerDetails, ServerMarketProduct, ServerProduct, ServerTransaction, SshKey, StorageBox, StorageBoxSnapshot, StorageBoxSnapshotPlan, StorageBoxSubaccount, Subnet, Traffic, VncConfig, VSwitch, WindowsConfig, Wol } from "./types.js"; export declare class HetznerRobotClient { private readonly auth; constructor(username: string, password: string); private request; private encodeParams; private buildTrafficParams; listServers(): Promise<{ server: Server; }[]>; getServer(serverIpOrNumber: string | number): Promise<{ server: ServerDetails; }>; updateServerName(serverIpOrNumber: string | number, name: string): Promise<{ server: Server; }>; getCancellation(serverIpOrNumber: string | number): Promise<{ cancellation: Cancellation; }>; cancelServer(serverIpOrNumber: string | number, cancellationDate?: string, cancellationReason?: string[]): Promise<{ cancellation: Cancellation; }>; revokeCancellation(serverIpOrNumber: string | number): Promise; listResetOptions(): Promise<{ reset: Reset; }[]>; getResetOptions(serverIpOrNumber: string | number): Promise<{ reset: Reset; }>; resetServer(serverIpOrNumber: string | number, type?: ResetType): Promise<{ reset: Reset; }>; getBootConfig(serverIpOrNumber: string | number): Promise<{ boot: BootConfig; }>; getRescue(serverIpOrNumber: string | number): Promise<{ rescue: RescueConfig; }>; activateRescue(serverIpOrNumber: string | number, os: string, arch?: number, authorizedKeys?: string[]): Promise<{ rescue: RescueConfig; }>; deactivateRescue(serverIpOrNumber: string | number): Promise<{ rescue: RescueConfig; }>; getLastRescue(serverIpOrNumber: string | number): Promise<{ rescue: RescueConfig; }>; getLinux(serverIpOrNumber: string | number): Promise<{ linux: LinuxConfig; }>; activateLinux(serverIpOrNumber: string | number, dist: string, arch?: number, lang?: string, authorizedKeys?: string[]): Promise<{ linux: LinuxConfig; }>; deactivateLinux(serverIpOrNumber: string | number): Promise<{ linux: LinuxConfig; }>; getLastLinux(serverIpOrNumber: string | number): Promise<{ linux: LinuxConfig; }>; getVnc(serverIpOrNumber: string | number): Promise<{ vnc: VncConfig; }>; activateVnc(serverIpOrNumber: string | number, dist: string, arch?: number, lang?: string): Promise<{ vnc: VncConfig; }>; deactivateVnc(serverIpOrNumber: string | number): Promise<{ vnc: VncConfig; }>; getWindows(serverIpOrNumber: string | number): Promise<{ windows: WindowsConfig; }>; activateWindows(serverIpOrNumber: string | number, dist: string, lang?: string): Promise<{ windows: WindowsConfig; }>; deactivateWindows(serverIpOrNumber: string | number): Promise<{ windows: WindowsConfig; }>; listIps(): Promise<{ ip: IP; }[]>; getIp(ip: string): Promise<{ ip: IP; }>; updateIp(ip: string, trafficWarnings?: boolean, trafficHourly?: number, trafficDaily?: number, trafficMonthly?: number): Promise<{ ip: IP; }>; getIpMac(ip: string): Promise<{ mac: Mac; }>; generateIpMac(ip: string): Promise<{ mac: Mac; }>; deleteIpMac(ip: string): Promise; listSubnets(): Promise<{ subnet: Subnet; }[]>; getSubnet(netIp: string): Promise<{ subnet: Subnet; }>; updateSubnet(netIp: string, trafficWarnings?: boolean, trafficHourly?: number, trafficDaily?: number, trafficMonthly?: number): Promise<{ subnet: Subnet; }>; getSubnetMac(netIp: string): Promise<{ mac: Mac; }>; generateSubnetMac(netIp: string): Promise<{ mac: Mac; }>; deleteSubnetMac(netIp: string): Promise; listFailovers(): Promise<{ failover: Failover; }[]>; getFailover(failoverIp: string): Promise<{ failover: Failover; }>; switchFailover(failoverIp: string, activeServerIp: string): Promise<{ failover: Failover; }>; deleteFailoverRouting(failoverIp: string): Promise; listRdns(): Promise<{ rdns: Rdns; }[]>; getRdns(ip: string): Promise<{ rdns: Rdns; }>; createRdns(ip: string, ptr: string): Promise<{ rdns: Rdns; }>; updateRdns(ip: string, ptr: string): Promise<{ rdns: Rdns; }>; deleteRdns(ip: string): Promise; listSshKeys(): Promise<{ key: SshKey; }[]>; getSshKey(fingerprint: string): Promise<{ key: SshKey; }>; createSshKey(name: string, data: string): Promise<{ key: SshKey; }>; updateSshKey(fingerprint: string, name: string): Promise<{ key: SshKey; }>; deleteSshKey(fingerprint: string): Promise; getFirewall(serverIpOrNumber: string | number): Promise<{ firewall: Firewall; }>; updateFirewall(serverIpOrNumber: string | number, status: "active" | "disabled", rules?: { input: FirewallRule[]; }): Promise<{ firewall: Firewall; }>; deleteFirewall(serverIpOrNumber: string | number): Promise; listFirewallTemplates(): Promise<{ firewall_template: FirewallTemplate; }[]>; getFirewallTemplate(templateId: number): Promise<{ firewall_template: FirewallTemplate; }>; createFirewallTemplate(name: string, filterIpv6?: boolean, whitelistHos?: boolean, isDefault?: boolean, rules?: { input: FirewallRule[]; }): Promise<{ firewall_template: FirewallTemplate; }>; updateFirewallTemplate(templateId: number, name?: string, filterIpv6?: boolean, whitelistHos?: boolean, isDefault?: boolean, rules?: { input: FirewallRule[]; }): Promise<{ firewall_template: FirewallTemplate; }>; deleteFirewallTemplate(templateId: number): Promise; listVSwitches(): Promise<{ vswitch: VSwitch; }[]>; getVSwitch(id: number): Promise<{ vswitch: VSwitch; }>; createVSwitch(name: string, vlan: number): Promise<{ vswitch: VSwitch; }>; updateVSwitch(id: number, name?: string, vlan?: number): Promise<{ vswitch: VSwitch; }>; deleteVSwitch(id: number, cancellationDate?: string): Promise; addServerToVSwitch(vswitchId: number, serverIpOrNumber: string | number): Promise<{ vswitch: VSwitch; }>; removeServerFromVSwitch(vswitchId: number, serverIpOrNumber: string | number): Promise; listStorageBoxes(): Promise<{ storagebox: StorageBox; }[]>; getStorageBox(id: number): Promise<{ storagebox: StorageBox; }>; updateStorageBox(id: number, name?: string, webdav?: boolean, samba?: boolean, ssh?: boolean, externalReachability?: boolean, zfs?: boolean): Promise<{ storagebox: StorageBox; }>; resetStorageBoxPassword(id: number): Promise<{ password: string; }>; listStorageBoxSnapshots(id: number): Promise<{ snapshot: StorageBoxSnapshot; }[]>; createStorageBoxSnapshot(id: number): Promise<{ snapshot: StorageBoxSnapshot; }>; deleteStorageBoxSnapshot(id: number, snapshotName: string): Promise; revertStorageBoxSnapshot(id: number, snapshotName: string): Promise; getStorageBoxSnapshotPlan(id: number): Promise<{ snapshotplan: StorageBoxSnapshotPlan; }>; updateStorageBoxSnapshotPlan(id: number, status: "enabled" | "disabled", minute?: number, hour?: number, dayOfWeek?: number, dayOfMonth?: number, maxSnapshots?: number): Promise<{ snapshotplan: StorageBoxSnapshotPlan; }>; listStorageBoxSubaccounts(id: number): Promise<{ subaccount: StorageBoxSubaccount; }[]>; createStorageBoxSubaccount(id: number, homedirectory: string, samba?: boolean, ssh?: boolean, externalReachability?: boolean, webdav?: boolean, readonly?: boolean, comment?: string): Promise<{ subaccount: StorageBoxSubaccount; }>; updateStorageBoxSubaccount(id: number, username: string, samba?: boolean, ssh?: boolean, externalReachability?: boolean, webdav?: boolean, readonly?: boolean, comment?: string): Promise<{ subaccount: StorageBoxSubaccount; }>; deleteStorageBoxSubaccount(id: number, username: string): Promise; resetStorageBoxSubaccountPassword(id: number, username: string): Promise<{ password: string; }>; getTraffic(ips: string[], subnets: string[], from: string, to: string, type?: "day" | "month" | "year"): Promise<{ traffic: Traffic; }>; getWol(serverIpOrNumber: string | number): Promise<{ wol: Wol; }>; sendWol(serverIpOrNumber: string | number): Promise<{ wol: Wol; }>; listServerProducts(): Promise<{ product: ServerProduct; }[]>; listServerMarketProducts(): Promise<{ product: ServerMarketProduct; }[]>; listServerTransactions(): Promise<{ transaction: ServerTransaction; }[]>; getServerTransaction(transactionId: string): Promise<{ transaction: ServerTransaction; }>; orderServer(productId: string, authorizedKeys?: string[], password?: string, dist?: string, arch?: number, lang?: string, location?: string, addons?: string[], test?: boolean): Promise<{ transaction: ServerTransaction; }>; orderServerMarket(productId: number, authorizedKeys?: string[], password?: string, dist?: string, arch?: number, lang?: string, addons?: string[], test?: boolean): Promise<{ transaction: ServerTransaction; }>; private buildOrderParams; }