import type { FastifyRequest } from 'fastify';
import { Logger } from '../../core/logger/logger.service';
import { ChildBridgesService } from '../child-bridges/child-bridges.service';
import { HomebridgeMdnsSettingDto, HomebridgeNetworkInterfacesDto } from './server.dto';
import { ServerService } from './server.service';
export declare class ServerController {
    private serverService;
    private childBridgesService;
    private logger;
    constructor(serverService: ServerService, childBridgesService: ChildBridgesService, logger: Logger);
    restartServer(): Promise<{
        ok: boolean;
        command: string;
        restartingUI: boolean;
    }>;
    restartChildBridge(deviceId: string): {
        ok: boolean;
    };
    stopChildBridge(deviceId: string): {
        ok: boolean;
    };
    startChildBridge(deviceId: string): {
        ok: boolean;
    };
    getBridgePairingInformation(): Promise<import("@nestjs/common").ServiceUnavailableException | {
        displayName: any;
        pincode: any;
        setupCode: string;
        isPaired: boolean;
    }>;
    resetHomebridgeAccessory(): Promise<void>;
    deleteAllCachedAccessories(): Promise<{
        ok: boolean;
    }>;
    getCachedAccessories(): Promise<any[]>;
    deleteCachedAccessory(uuid: string, cacheFile?: string): Promise<{
        ok: boolean;
    }>;
    deleteCachedAccessories(accessories?: {
        uuid: string;
        cacheFile: string;
    }[]): Promise<{
        ok: boolean;
    }>;
    getDevicePairings(): Promise<any[]>;
    getDevicePairingById(deviceId: string): Promise<any>;
    deleteDevicePairing(deviceId: string, resetPairingInfo?: string): Promise<{
        ok: boolean;
    }>;
    deleteDevicesPairings(bridges?: {
        id: string;
        resetPairingInfo: boolean;
    }[]): Promise<{
        ok: boolean;
    }>;
    deleteDeviceAccessories(deviceId: string): Promise<void>;
    deleteDevicesAccessories(bridges?: {
        id: string;
    }[]): Promise<void>;
    lookupUnusedPort(): Promise<{
        port: number;
    }>;
    getSystemNetworkInterfaces(): Promise<import("systeminformation").Systeminformation.NetworkInterfacesData[]>;
    getHomebridgeNetworkInterfaces(): Promise<string[]>;
    setHomebridgeNetworkInterfaces(body: HomebridgeNetworkInterfacesDto): Promise<void>;
    getHomebridgeMdnsSetting(): Promise<HomebridgeMdnsSettingDto>;
    setHomebridgeMdnsSetting(body: HomebridgeMdnsSettingDto): Promise<void>;
    setHomebridgeName(body: {
        name: string;
    }): Promise<void>;
    getHomebridgePort(): Promise<{
        port: number;
    }>;
    setHomebridgePort(body: {
        port: number;
    }): Promise<void>;
    getUsablePort(): Promise<{
        start?: number;
        end?: number;
    }>;
    setUsablePorts(body: any): Promise<void>;
    uploadWallpaper(req: FastifyRequest): Promise<void>;
    deleteWallpaper(): Promise<void>;
    updateWebroot(body: {
        webroot: string;
    }): Promise<void>;
}
