/** @packageDocumentation
 * @module Tiles
 */
import { MapLayerSettings } from "@itwin/core-common";
import { HitDetail } from "../../HitDetail";
import { IModelConnection } from "../../IModelConnection";
import { MapLayerImageryProvider, TileTreeReference } from "../internal";
import { DecorateContext } from "../../ViewContext";
/**
 * A [[TileTreeReference]] to be used specifically for [[MapTileTree]]s.
 * The reference refers to its MapTileTree by way of the tree's [[TileTreeOwner]].
 * Multiple MapLayerTileTreeReferences can refer to the same TileTree if the map layer settings are equivalent, meaning
 * they have identical format IDs, URLs, credentials, etc.
 * @beta
 */
export declare abstract class MapLayerTileTreeReference extends TileTreeReference {
    protected _layerSettings: MapLayerSettings;
    protected _layerIndex: number;
    iModel: IModelConnection;
    /**
     * Constructor for a MapLayerTileTreeReference.
     * @param _layerSettings Map layer settings that are applied to the MapLayerTileTreeReference.
     * @param _layerIndex The index of the associated map layer.
     * @param iModel The iModel containing the MapLayerTileTreeReference.
     * @internal
     */
    constructor(_layerSettings: MapLayerSettings, _layerIndex: number, iModel: IModelConnection);
    protected get _transparency(): number | undefined;
    /** Returns true if the associated map layer, including its sublayers, is opaque. */
    get isOpaque(): boolean;
    get layerName(): string;
    /** Returns the imagery provider for the tile tree. */
    get imageryProvider(): MapLayerImageryProvider | undefined;
    set layerSettings(layerSettings: MapLayerSettings);
    /** Returns the layer settings for the map layer. */
    get layerSettings(): MapLayerSettings;
    /** Returns the index of the map layer associated with the tile tree. */
    get layerIndex(): number;
    /** Returns the transparency value of the map layer. */
    get transparency(): number | undefined;
    canSupplyToolTip(hit: HitDetail): boolean;
    getToolTip(hit: HitDetail): Promise<HTMLElement | string | undefined>;
    decorate(_context: DecorateContext): void;
}
/**
 * Creates a MapLayerTileTreeReference.
 * @param layerSettings Model or image map layer settings that are applied to the MapLayerTileTreeReference.
 * @param layerIndex The index of the associated map layer.
 * @param iModel The iModel containing the new MapLayerTileTreeReference.
 * @returns Returns the new tile tree reference, either a ModelMapLayerTileTreeReference or an ImageryMapLayerTreeReference.
 * @internal
 */
export declare function createMapLayerTreeReference(layerSettings: MapLayerSettings, layerIndex: number, iModel: IModelConnection): MapLayerTileTreeReference | undefined;
//# sourceMappingURL=MapLayerTileTreeReference.d.ts.map