import { LitElement, PropertyValues, TemplateResult } from "lit";
import { AssetDescriptor } from "@openremote/model";
import { OrInputChangedEvent } from "@openremote/or-mwc-components/or-mwc-input";
import { ListItem } from "@openremote/or-vaadin-components/or-vaadin-list-box";
export declare class AssetTypeSelectEvent extends CustomEvent<string> {
    static readonly NAME = "assettype-select";
    constructor(assetTypeName: string);
}
export declare class AssetAllOfTypeSwitchEvent extends CustomEvent<boolean> {
    static readonly NAME = "alloftype-switch";
    constructor(allOfType: boolean);
}
export declare class AssetIdsSelectEvent extends CustomEvent<string | string[]> {
    static readonly NAME = "assetids-select";
    constructor(assetIds: string | string[]);
}
export declare class AttributeNamesSelectEvent extends CustomEvent<string | string[]> {
    static readonly NAME = "attributenames-select";
    constructor(attributeNames: string[]);
}
export interface AssetTypesFilterConfig {
    assets?: {
        enabled?: boolean;
        multi?: boolean;
        allOfTypeOption?: boolean;
    };
    attributes?: {
        enabled?: boolean;
        multi?: boolean;
        valueTypes?: string[];
    };
}
export declare class AssettypesPanel extends LitElement {
    protected assetType?: string;
    protected config: AssetTypesFilterConfig;
    protected allOfType: boolean;
    protected assetIds: undefined | string | string[];
    protected attributeNames: undefined | string[];
    protected _attributeSelectList: string[][];
    protected _loadedAssetTypes: AssetDescriptor[];
    static get styles(): import("lit").CSSResult[];
    protected willUpdate(changedProps: PropertyValues): void;
    protected render(): TemplateResult;
    protected mapDescriptors(descriptors: AssetDescriptor[], withNoneValue?: ListItem): ListItem[];
    protected getAttributesByType(type: string): string[][] | undefined;
    protected onAssetAllOfTypeToggle(ev: OrInputChangedEvent): void;
    protected _openAssetSelector(assetType: string, assetIds?: string[], multi?: boolean): void;
}
//# sourceMappingURL=assettypes-panel.d.ts.map