import { LitElement, TemplateResult } from 'lit';
import '../../icons/icon-chevron-right-google.js';
import '../../icons/icon-wifi2-google.js';
import '../icon-check-button/icon-check-button.js';
import '../../icons/icon-wifi2-off-google.js';
import '../../icons/icon-sound-muted.js';
import '../../icons/icon-sound.js';
import '../../icons/icon-com-mic-muted-google.js';
import '../../icons/icon-com-microphone.js';
import '../slider/slider.js';
import '../audio-output/audio-output.js';
import '../battery-icon/battery-icon.js';
import '../../icons/icon-settings-iec.js';
import '../icon-button/icon-button.js';
import '../../icons/icon-chevron-left-google.js';
import '../radio/radio.js';
import '../toggle-switch/toggle-switch.js';
import '../navigation-item/navigation-item.js';
import '../accordion-item/accordion-item.js';
import '../button/button.js';
import '../scrollbar/scrollbar.js';
export interface WifiState {
    enabled: boolean;
    connected: boolean;
    networkName?: string;
    strength: number;
    status: string;
    networks?: {
        name: string;
        signalStrength: number;
    }[];
    otherNetworks?: {
        name: string;
        signalStrength: number;
    }[];
}
export interface AudioState {
    muted: boolean;
    volume: number;
    outputs?: {
        name: string;
    }[];
    selectedOutput?: string;
}
export interface MicrophoneState {
    muted: boolean;
    currentLevel: number;
    inputs?: {
        name: string;
    }[];
    selectedInput?: string;
    pushToTalk?: boolean;
}
export interface BatteryState {
    level: number;
    charging: boolean;
    poweredNotCharging?: boolean;
    notification?: boolean;
    batterySavingMode?: boolean;
    hasUsageButton: boolean;
    modes?: {
        name: string;
    }[];
    selectedMode?: string;
}
export declare enum SystemSubMenu {
    main = "main",
    wifi = "wifi",
    audio = "audio",
    microphone = "microphone",
    battery = "battery"
}
export type VolumeChangeEvent = CustomEvent<number>;
/**
 * @fires wifi-click - When the Wi-Fi button is clicked
 * @fires audio-click - When the Audio button is clicked
 * @fires audio-volume-change - {VolumeChangeEvent} - When the Audio volume is changed
 * @fires microphone-click - When the Microphone button is clicked
 * @fires battery-usage-click - When the Battery usage button is clicked
 * @fires battery-saving-mode-change - When the Battery saving mode is changed
 * @fires battery-mode-change - When the Battery mode is changed
 * @fires wifi-network-change - When the Wi-Fi network is changed
 * @fires audio-output-change - When the Audio output is changed
 * @fires microphone-input-change - When the Microphone input is changed
 * @fires settings-click - When the Settings button is clicked
 * @fires to-sub-menu-click - When the sub menu is clicked
 * @fires wifi-options-click - When the Wi-Fi options are clicked
 * @fires wifi-disconnect-click - When the Wi-Fi disconnect is clicked
 */
export declare class ObcSystemMenu extends LitElement {
    wifiState: WifiState | undefined;
    audioState: AudioState | undefined;
    microphoneState: MicrophoneState | undefined;
    batteryState: BatteryState | undefined;
    condensed: boolean;
    showSettingsButton: boolean;
    activeSubMenu: SystemSubMenu;
    externalControl: boolean;
    smallScreen: boolean;
    private get effectiveSubMenu();
    render(): TemplateResult<1>;
    private dispatchClickEvent;
    private handleWifiClick;
    private handleAudioClick;
    private handleAudioVolumeChange;
    private handleToSubMenuClick;
    private renderWifi;
    private renderAudio;
    private renderMicrophone;
    private renderBattery;
    private renderSettingsButton;
    private renderSubMenuTitle;
    private renderWifiSubMenuHeader;
    private renderAudioSubMenuHeader;
    private handleMicrophoneClick;
    private handlePushToTalkClick;
    private handleBatterySavingModeClick;
    private renderMicrophoneSubMenuHeader;
    private handleBatteryUsageClick;
    private renderBatterySubMenuHeader;
    private handleWifiNetworkClick;
    private renderWifMenuOptions;
    private handleAudioOutputClick;
    private handleMicrophoneInputClick;
    private handleBatteryModeClick;
    private renderAudioSubMenuOptions;
    private renderMicrophoneSubMenuOptions;
    private renderBatterySubMenuOptions;
    private renderSubMenuOptions;
    private renderSmallScreen;
    private handleSmallScreenWifiToggle;
    private renderSmallScreenWifi;
    private renderSmallScreenAudio;
    private renderSmallScreenMicrophone;
    private renderSmallScreenBattery;
    private renderMenuBarButton;
    private renderMenuBar;
    static styles: import('lit').CSSResult;
}
//# sourceMappingURL=system-menu.d.ts.map