import type EsriBuildingComponentSublayer from "@arcgis/core/layers/buildingSublayers/BuildingComponentSublayer";
import type EsriBuildingGroupSublayer from "@arcgis/core/layers/buildingSublayers/BuildingGroupSublayer";
import type { ListMode } from "../support/esri.js";
import { LayerDefinition } from "./LayerDefinition.js";
import { PopupInfo } from "./PopupInfo.js";
export declare namespace BuildingSceneSublayer {
    /**
     * Default property values for the ESRI JS API BuildingSublayer.
     *
     * @deprecated Use "json/*" modules instead.
     */
    const esriBuildingSublayerDefaults: Partial<EsriBuildingComponentSublayer | EsriBuildingGroupSublayer>;
    /**
     * Applies an ArcGIS Portal JSON representation of a BuildingScene sublayer
     * to its Esri JavaScript API representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param sublayerJson The layer JSON to apply.
     * @param sublayer The sublayer object to apply it to.
     */
    function applyToEsriApiBuildingSublayer(sublayerJson: BuildingSceneSublayer, sublayer: EsriBuildingComponentSublayer | EsriBuildingGroupSublayer): Promise<void>;
    /**
     * Converts an Esri JavaScript API buildingSceneSublayer object to its
     * ArcGIS Portal JSON representation.
     *
     * @deprecated Use "json/*" modules instead.
     * @param sublayer The sublayer object to convert.
     */
    function fromEsriApiBuildingSublayer(sublayer: EsriBuildingComponentSublayer | EsriBuildingGroupSublayer): BuildingSceneSublayer;
}
/**
 * The BuildingSceneLayer sublayer is a part of a building scene layer.
 *
 * @deprecated Use "json/*" modules instead.
 */
export interface BuildingSceneSublayer {
    /**
     * Allows a client to ignore popups defined by the service item.
     */
    disablePopup?: boolean;
    /**
     * Identifies the sublayer inside the building scene layer.
     */
    id?: number;
    /**
     * Additional properties that can define drawing information and a
     * definition expression for the sublayer. See layerDefinition properties
     * table.
     */
    layerDefinition?: LayerDefinition;
    /**
     * To show or hide the sublayer in the layer list. If property is present,
     * must be one of the following values: show, hide.
     */
    listMode?: ListMode;
    /**
     * The degree of transparency applied to the sublayer on the client side,
     * where 0 is full transparency and 1 is no transparency. This is multiplied
     * with the opacity of the containing layers.
     */
    opacity?: number;
    /**
     * A popupInfo object defining the content of pop-up windows when you click
     * or query a feature.
     */
    popupInfo?: PopupInfo;
    /**
     * A user-friendly string title for the sublayer that can be used in a table
     * of contents.
     */
    title?: string;
    /**
     * Boolean property determining whether the sublayer is initially visible in
     * the web scene.
     */
    visibility?: boolean;
}
