import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
import type { IMonitorFormData, IServiceStatus } from '../../interfaces/index.js';
declare global {
    interface HTMLElementTagNameMap {
        'upladmin-monitor-form': UpladminMonitorForm;
    }
}
export declare class UpladminMonitorForm extends DeesElement {
    static demo: () => TemplateResult<1>;
    accessor monitor: IMonitorFormData | null;
    accessor availableMonitors: IServiceStatus[];
    accessor categories: string[];
    accessor loading: boolean;
    accessor formData: IMonitorFormData;
    accessor errors: Record<string, string>;
    private statusIcons;
    static styles: import("@design.estate/dees-element").CSSResult[];
    connectedCallback(): Promise<void>;
    updated(changedProperties: Map<string, unknown>): void;
    render(): TemplateResult;
    private handleNameChange;
    private handleDisplayNameChange;
    private handleDescriptionChange;
    private handleCategoryChange;
    private handleDependenciesChange;
    private handleStatusChange;
    private validate;
    private handleSave;
    private handleCancel;
    reset(): void;
    setMonitor(monitor: IMonitorFormData): void;
}
