/// <reference types="@arcgis/core/interfaces.d.ts" />
/// <reference types="../../index.d.ts" />
import { Use } from '@arcgis/components-controllers';
import { Nil } from '@arcgis/components-utils';
import { default as BasemapLayerList } from '@arcgis/core/widgets/BasemapLayerList.js';
import { PublicLitElement as LitElement, TargetedEvent } from '@arcgis/lumina';
import { ArcgisReferenceElement } from '../../utils/component-utils';

declare const useBasemapLayerListWidget: (component: import('@arcgis/components-controllers').StencilLifecycles & {
    manager: import('@arcgis/components-controllers').ControllerManager;
    el: HTMLElement;
    autoDestroyDisabled?: boolean;
    destroy?: () => Promise<void>;
} & Pick<BasemapLayerList, never> & {
    reactiveUtils?: typeof __esri.reactiveUtils;
    state?: unknown;
    viewModel?: __esri.BasemapLayerListViewModel | undefined;
    icon: Nil | string;
    label: Nil | string;
    referenceElement: ArcgisReferenceElement | Nil | string;
    position: __esri.UIPosition;
    arcgisReady: import('@arcgis/components-controllers').EventEmitter;
    arcgisPropertyChange: import('@arcgis/components-controllers').EventEmitter<{
        name: string;
    }> | undefined;
    el: HTMLElement & {
        childElem?: HTMLElement & {
            ownedBy?: HTMLElement;
        };
        view?: __esri.MapView | __esri.SceneView | Nil;
    };
    autoDestroyDisabled: boolean;
    destroy: () => Promise<void>;
}, options?: {
    editConstructorProperties(props: __esri.BasemapLayerListProperties | undefined): __esri.BasemapLayerListProperties | Promise<__esri.BasemapLayerListProperties | undefined> | undefined;
} | undefined) => BasemapLayerList;
/** BasemapLayerList component provides a way to display a list of [Basemap](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html) layers and switch on/off their visibility. [Base layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#baseLayers) and [reference layers](https://developers.arcgis.com/javascript/latest/api-reference/esri-Basemap.html#referenceLayers) are divided into separate sections. When editing is enabled, layers can be reordered by dragging and dropping between the lists and the title can be edited.
 */
export declare class ArcgisBasemapLayerList extends LitElement {
    /**
     * If true, the component will not be destroyed automatically when it is
     * disconnected from the document. This is useful when you want to move the
     * component to a different place on the page, or temporarily hide it. If this
     * is set, make sure to call the \`destroy\` method when you are done to prevent
     * memory leaks.
     */
    autoDestroyDisabled: boolean;
    baseFilterPredicate: nullish | __esri.BaseFilterPredicate;
    baseFilterText: string;
    /** A collection of ListItems representing the baseLayers. */
    get baseItems(): __esri.Collection<__esri.ListItem>;
    baseListItemCreatedFunction: nullish | __esri.ListItemCreatedHandler;
    basemapTitle: string | nullish;
    /** The CatalogLayerList that displays a catalog layer's dynamic group layer. */
    get catalogLayerList(): __esri.CatalogLayerList | nullish;
    catalogOptions: nullish | __esri.BasemapLayerListCatalogOptions;
    collapsed: boolean;
    dragEnabled: boolean;
    editingTitle: boolean;
    filterPlaceholder: string;
    headingLevel: number;
    hideBaseLayers: boolean;
    hideFlow: boolean;
    hideHeading: boolean;
    hideReferenceLayers: boolean;
    hideStatusIndicators: boolean;
    /**
     * Icon which represents the component.
     * Typically used when the component is controlled by another component (e.g. by the Expand component).
     * Search [Calcite Icons](https://developers.arcgis.com/calcite-design-system/icons/) for possible values.
     */
    icon: string;
    /** The component's default label. */
    label: string;
    minFilterItems: number;
    position: __esri.UIPosition;
    referenceElement: ArcgisReferenceElement | Nil | string;
    referenceFilterPredicate: nullish | __esri.ReferenceFilterPredicate;
    referenceFilterText: string;
    /** A collection of ListItems representing the referenceLayers. */
    get referenceItems(): __esri.Collection<__esri.ListItem>;
    referenceListItemCreatedFunction: nullish | __esri.ListItemCreatedHandler;
    selectedItems: __esri.Collection<__esri.ListItem>;
    selectionMode: "none" | "single" | "multiple" | "single-persist";
    showCloseButton: boolean;
    showCollapseButton: boolean;
    showEditTitleButton: boolean;
    showErrors: boolean;
    showFilter: boolean;
    showTemporaryLayerIndicators: boolean;
    readonly state: "ready" | "loading" | "disabled";
    visibilityAppearance: "default" | "checkbox";
    /** Permanently destroy the component */
    destroy(): Promise<void>;
    readonly arcgisPropertyChange: TargetedEvent<this, {
        name: "state";
    }>;
    readonly arcgisReady: TargetedEvent<this, undefined>;
    readonly arcgisTriggerAction: TargetedEvent<this, __esri.BasemapLayerListTriggerActionEvent>;
}
export {};
