import type { L7Container } from '../../inversify.config'; export declare enum PositionType { 'TOPRIGHT' = "topright", 'TOPLEFT' = "topleft", 'BOTTOMRIGHT' = "bottomright", 'BOTTOMLEFT' = "bottomleft", 'TOPCENTER' = "topcenter", 'BOTTOMCENTER' = "bottomcenter", 'LEFTCENTER' = "leftcenter", 'RIGHTCENTER' = "rightcenter", 'LEFTTOP' = "lefttop", 'RIGHTTOP' = "righttop", 'LEFTBOTTOM' = "leftbottom", 'RIGHTBOTTOM' = "rightbottom" } export type PositionName = 'topright' | 'topleft' | 'bottomright' | 'bottomleft' | 'topcenter' | 'bottomcenter' | 'leftcenter' | 'rightcenter' | 'lefttop' | 'righttop' | 'leftbottom' | 'rightbottom'; export interface IControlServiceCfg { container: HTMLElement; } export interface IControlCorners { [key: string]: HTMLElement; } export interface IControl { controlOption: O; setOptions: (newOption: Partial) => void; addTo(sceneContainer: L7Container): void; onAdd(): HTMLElement; onRemove(): void; hide(): void; show(): void; remove(): void; } export interface IControlService { container: HTMLElement; controlCorners: IControlCorners; controlContainer: HTMLElement; addControls(): void; init(cfg: IControlServiceCfg, sceneContainer: L7Container): void; addControl(ctr: IControl, sceneContainer: L7Container): void; getControlByName(name: string | number): IControl | undefined; removeControl(ctr: IControl): void; destroy(): void; }