export interface HomebridgeConfig {
    bridge: {
        username: string;
        pin: string;
        name: string;
        port: number;
    };
    platforms: any[];
    accessories: any[];
    plugins?: string;
}
export declare class ConfigService {
    name: string;
    configPath: string;
    storagePath: string;
    customPluginPath: string;
    secretPath: string;
    authPath: string;
    accessoryLayoutPath: string;
    homebridgeInsecureMode: boolean;
    homebridgeNoTimestamps: boolean;
    minimumNodeVersion: string;
    serviceMode: boolean;
    runningInDocker: boolean;
    runningInLinux: boolean;
    ableToConfigureSelf: {
        includePrerelease: boolean;
    };
    enableTerminalAccess: boolean;
    branding: string | boolean;
    startupScript: string;
    dockerEnvFile: string;
    dockerOfflineUpdate: any;
    package: any;
    homebridgeConfig: HomebridgeConfig;
    ui: {
        name: string;
        port: number;
        host?: '::' | '0.0.0.0' | string;
        auth: 'form' | 'none';
        theme: string;
        sudo?: boolean;
        restart?: string;
        log?: {
            method: 'file' | 'custom' | 'systemd';
            command?: string;
            path?: string;
            service?: string;
        };
        ssl?: {
            key?: string;
            cert?: string;
            pfx?: string;
            passphrase?: string;
        };
        accessoryControl?: {
            debug?: boolean;
            instanceBlacklist?: string[];
        };
        temp?: string;
        tempUnits?: string;
        loginWallpaper?: string;
        noFork?: boolean;
        linux?: {
            shutdown?: string;
            restart?: string;
        };
        standalone?: boolean;
        debug?: boolean;
        proxyHost?: string;
        sessionTimeout?: number;
        websocketCompatibilityMode?: boolean;
        homebridgePackagePath?: string;
    };
    secrets: {
        secretKey: string;
    };
    instanceId: string;
    constructor();
    uiSettings(): {
        env: {
            ableToConfigureSelf: {
                includePrerelease: boolean;
            };
            enableAccessories: boolean;
            enableTerminalAccess: boolean;
            homebridgeInstanceName: string;
            nodeVersion: string;
            packageName: any;
            packageVersion: any;
            runningInDocker: boolean;
            runningInLinux: boolean;
            dockerOfflineUpdate: any;
            temperatureUnits: string;
            websocketCompatibilityMode: boolean;
            branding: string | boolean;
            instanceId: string;
        };
        formAuth: boolean;
        theme: string;
        serverTimestamp: string;
    };
    private setConfigForDocker;
    private setConfigForServiceMode;
    private getSecrets;
    private generateSecretToken;
    private getInstanceId;
}
