import { HttpService } from "@open-pioneer/http"; import { InternalConstructorTag } from "../../utils/InternalConstructorTag"; import { Layer } from "../unions"; import { LayerConfig } from "./LayerConfig"; /** * Options passed from the layer factory to the layer constructor. * * @internal */ export interface LayerDependencies { httpService: HttpService; } /** * Interface implemented by layer classes (the prototype, not the instance). * * - `Config`: the options supported or required as construction parameters. * - `LayerType`: the type of the resulting layer instance. * * @internal */ export interface LayerConstructor { prototype: LayerType; new (config: Config, deps: LayerDependencies, tag: InternalConstructorTag): LayerType; } /** * Helper function to verify that the correct tag was used. * * Returns the layer dependencies passed by the layer factory or returns undefined. * * Throws an error if an invalid tag was provided. */ export declare function getLayerDependencies(deps: LayerDependencies | undefined, tag: InternalConstructorTag | undefined): LayerDependencies | undefined; export declare const SET_VISIBLE: unique symbol; export declare const DETACH_FROM_MAP: unique symbol; export declare const ATTACH_TO_MAP: unique symbol; export declare const ATTACH_TO_GROUP: unique symbol; export declare const DETACH_FROM_GROUP: unique symbol; export declare const GET_RAW_LAYERS: unique symbol; export declare const GET_PARENT: unique symbol; export declare const GET_DEPS: unique symbol; export declare const GET_RAW_SUBLAYERS: unique symbol; export declare const ATTACH_TO_PARENT: unique symbol; export declare const SET_LEGEND: unique symbol; export declare const LAYER_DEPS: unique symbol; export declare const SET_METADATA_LOAD_INFO: unique symbol; export declare const DECLARED_AS_BASE_LAYER: unique symbol;