import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
import type { IExecutionEnvironment } from '@design.estate/dees-catalog';
declare global {
    interface HTMLElementTagNameMap {
        'sz-service-detail-view': SzServiceDetailView;
    }
}
export interface IServiceDetail {
    name: string;
    status: 'running' | 'stopped' | 'starting' | 'error';
    image: string;
    port: number;
    domain: string | null;
    containerId: string;
    created: string;
    updated: string;
    registry: string;
    repository: string;
    tag: string;
}
export interface IServiceStats {
    cpu: number;
    memory: string;
    memoryLimit: string;
    networkIn: string;
    networkOut: string;
}
export interface IServiceBackup {
    id: string;
    createdAt: string;
    size: string;
    type: string;
}
export interface ILogEntry {
    timestamp: string;
    message: string;
    level?: 'info' | 'warn' | 'error';
}
export declare class SzServiceDetailView extends DeesElement {
    static demo: () => TemplateResult<1>;
    static demoGroups: string[];
    accessor service: IServiceDetail;
    accessor stats: IServiceStats;
    accessor backups: IServiceBackup[];
    accessor logs: ILogEntry[];
    accessor streaming: boolean;
    accessor workspaceEnvironment: IExecutionEnvironment | null;
    accessor workspacePath: string;
    private accessor currentView;
    static styles: import("@design.estate/dees-element").CSSResult[];
    render(): TemplateResult;
    private renderWorkspaceView;
    private renderDetailsView;
    private handleBack;
    private handleEdit;
    private handleAction;
    private toggleStreaming;
    private handleClearLogs;
    private handleCreateBackup;
    private handleDownloadBackup;
    private handleRestoreBackup;
    private handleDeleteBackup;
    private handleOpenWorkspace;
    private handleCloseWorkspace;
    updated(changedProperties: Map<string, any>): void;
}
