import { LitElement } from "lit";
import { AgentDescriptor, Asset, AssetDescriptor, AttributeDescriptor } from "@openremote/model";
import "@openremote/or-mwc-components/or-mwc-input";
import { AssetTreeConfig } from "./index";
import { ListItem, OrMwcList } from "@openremote/or-mwc-components/or-mwc-list";
import { OrMwcInput } from "@openremote/or-mwc-components/or-mwc-input";
export type OrAddAssetDetail = {
    name: string | undefined;
    descriptor: AssetDescriptor | AgentDescriptor | undefined;
};
export declare class OrAddChangedEvent extends CustomEvent<OrAddAssetDetail> {
    static readonly NAME = "or-add-asset-changed";
    constructor(addAssetDetail: OrAddAssetDetail);
}
declare global {
    export interface HTMLElementEventMap {
        [OrAddChangedEvent.NAME]: OrAddChangedEvent;
    }
}
export declare class OrAddAssetDialog extends LitElement {
    config: AssetTreeConfig;
    agentTypes: AgentDescriptor[];
    assetTypes: AssetDescriptor[];
    parent?: Asset;
    selectedType?: AgentDescriptor | AssetDescriptor;
    selectedAttributes: AttributeDescriptor[];
    protected showParentAssetSelector: boolean;
    selectedChildAssetType: string;
    name: string;
    protected nameInput: OrMwcInput;
    protected agentList?: OrMwcList;
    protected assetList?: OrMwcList;
    protected parentAssetList?: OrMwcList;
    static get styles(): import("lit").CSSResult;
    constructor();
    protected render(): import("lit").TemplateResult<1>;
    protected getTypeTemplate(descriptor: AgentDescriptor | AssetDescriptor, parentStr: string): false | import("lit").TemplateResult<1>;
    protected onNameChanged(name: string): void;
    protected onTypeChanged(isAgent: boolean, listItem: ListItem): Promise<void>;
    protected onModified(): void;
    protected _onToggleParentAssetSelector(): void;
    protected _onDeselectClicked(): void;
}
//# sourceMappingURL=or-add-asset-dialog.d.ts.map