import GirafeHTMLElement from '../../base/GirafeHTMLElement.js';
import LayerWmsExternal from '../../models/layers/layerwmsexternal.js';
import LayerWmtsExternal from '../../models/layers/layerwmtsexternal.js';
import IGirafePanel from '../../tools/state/igirafepanel.js';
type SourceType = 'WMS' | 'WMTS' | 'local';
type ExternalLayer = LayerWmsExternal | LayerWmtsExternal;
type PredefinedSource = {
    label: string;
    type: 'WMS' | 'WMTS';
    url: string;
};
declare class ExternalLayersComponent extends GirafeHTMLElement implements IGirafePanel {
    protected templateUrl: string | null;
    protected styleUrls: string[] | null;
    template: () => import("uhtml").Hole;
    isPanelVisible: boolean;
    panelTitle: string;
    panelTogglePath: string;
    loading: boolean;
    predefinedSources: PredefinedSource[];
    get predefinedWmsWmtsSources(): PredefinedSource[];
    get hasPredefinedWmsWmtsSources(): boolean;
    selectedTab: 'wms_wmts' | 'file';
    private wmtsManager;
    private themeName?;
    private externalLayers;
    filteredLayers: ExternalLayer[];
    get isFiltered(): boolean;
    constructor();
    render(): void;
    togglePanel(isVisible: boolean): void;
    setSelectedTab(selectedTab: 'wms_wmts' | 'file'): void;
    scanSource(url?: string, sourceType?: SourceType): Promise<void>;
    private scanLayersWMS;
    private scanLayersWMTS;
    selectLayer(layer: ExternalLayer, forceSelect?: boolean): boolean;
    private parseName;
    filterLayers(filter: string): void;
    clearFilter(): void;
    typeUrl(): void;
    clearUrl(): void;
    selectVisible(): void;
    deselectVisible(): void;
    deselectAll(): void;
    addSelectedLayers(): void;
    get fileDescription(): string;
    loadFile(): Promise<void>;
    protected connectedCallback(): void;
}
export default ExternalLayersComponent;
