import { EventEmitter } from '@angular/core';
import { CliPanelPosition, CliPanelHideAlignment, CliNotification } from '@qodalis/cli-core';
import { ServiceDetail, ServerDetail } from '../cli-panel/cli-panel-status.service';
import * as i0 from "@angular/core";
export declare class CollapsableContentComponent {
    previousPanelHeight: number;
    panelHeight: number;
    panelWidth: number;
    previousPanelWidth: number;
    isResizing: boolean;
    startY: number;
    startX: number;
    startHeight: number;
    startWidth: number;
    visible: boolean;
    isCollapsed: boolean;
    isMaximized: boolean;
    position: CliPanelPosition;
    closable: boolean;
    resizable: boolean;
    hideable: boolean;
    hideAlignment: CliPanelHideAlignment;
    themeStyles: Record<string, string>;
    onToggle: EventEmitter<boolean>;
    onContentSizeChange: EventEmitter<number>;
    onClose: EventEmitter<void>;
    onHide: EventEmitter<void>;
    onPositionChange: EventEmitter<CliPanelPosition>;
    isHidden: boolean;
    statusExecutionState: 'idle' | 'running';
    statusLastCommand: {
        name: string;
        success: boolean;
    } | null;
    statusServiceCount: {
        running: number;
        total: number;
    };
    statusServiceDetails: ServiceDetail[];
    statusServerState: 'connected' | 'disconnected' | 'none';
    statusServerDetails: ServerDetail[];
    statusUptime: number;
    notification: CliNotification | null;
    positionDropdownOpen: boolean;
    dropdownStyle: Record<string, string>;
    private preHideCollapsed;
    get isHorizontal(): boolean;
    get showStatusIndicators(): boolean;
    get connectedServerCount(): number;
    get totalServerCount(): number;
    servicesDropdownOpen: boolean;
    servicesDropdownStyle: Record<string, string>;
    serversDropdownOpen: boolean;
    serversDropdownStyle: Record<string, string>;
    toggleServicesDropdown(event: MouseEvent): void;
    toggleServersDropdown(event: MouseEvent): void;
    get formattedUptime(): string;
    get wrapperStyle(): Record<string, string>;
    toggleTerminal(): void;
    closeTerminal(): void;
    hideTerminal(): void;
    unhideTerminal(): void;
    togglePositionDropdown(event: MouseEvent): void;
    selectPosition(pos: CliPanelPosition): void;
    closeDropdowns(): void;
    toggleMaximizationTerminal(): void;
    onResizeStart(event: MouseEvent): void;
    onMouseMove(event: MouseEvent): void;
    onMouseUp(): void;
    /** Set collapsed state directly (called by parent CliPanelComponent). */
    setCollapsed(value: boolean): void;
    /** Set maximized state directly (called by parent CliPanelComponent). */
    setMaximized(value: boolean): void;
    /** Programmatically set panel dimensions. */
    setDimensions(dims: {
        height?: number;
        width?: number;
    }): void;
    private updateTerminalSize;
    static ɵfac: i0.ɵɵFactoryDeclaration<CollapsableContentComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CollapsableContentComponent, "collapsable-content", never, { "visible": { "alias": "visible"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; "isMaximized": { "alias": "isMaximized"; "required": false; }; "position": { "alias": "position"; "required": false; }; "closable": { "alias": "closable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; "hideable": { "alias": "hideable"; "required": false; }; "hideAlignment": { "alias": "hideAlignment"; "required": false; }; "themeStyles": { "alias": "themeStyles"; "required": false; }; "isHidden": { "alias": "isHidden"; "required": false; }; "statusExecutionState": { "alias": "statusExecutionState"; "required": false; }; "statusLastCommand": { "alias": "statusLastCommand"; "required": false; }; "statusServiceCount": { "alias": "statusServiceCount"; "required": false; }; "statusServiceDetails": { "alias": "statusServiceDetails"; "required": false; }; "statusServerState": { "alias": "statusServerState"; "required": false; }; "statusServerDetails": { "alias": "statusServerDetails"; "required": false; }; "statusUptime": { "alias": "statusUptime"; "required": false; }; "notification": { "alias": "notification"; "required": false; }; }, { "onToggle": "onToggle"; "onContentSizeChange": "onContentSizeChange"; "onClose": "onClose"; "onHide": "onHide"; "onPositionChange": "onPositionChange"; }, never, ["*"], false, never>;
}
