import { CustomElement } from '../../Abstracts/CustomElement';
import { IMapElementProps } from './IMapElementProps';
import { MapProvider } from '../../../Types/MapProvider';
declare const MapElement_base: (abstract new (...args: Array<any>) => import("../../../Behaviors/Themeable").IThemeableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Dimensionable").IDimensionableProps) & (abstract new (...args: Array<any>) => import("../../../Behaviors/Disableable").IDisableableProps) & typeof CustomElement & import("../../../Behaviors/Themeable").IThemeableCtor;
/**
 * Map - A map element that can display a location using multiple providers.
 *
 * @csspart map - The map part.
 *
 * @cssprop {String} --map-font-family - The font family CSS custom property.
 * @cssprop {String} --map-font-letter-spacing - The font letter spacing CSS custom property.
 * @cssprop {String} --map-font-line-height - The font line height CSS custom property.
 * @cssprop {String} --map-font-size - The font size CSS custom property.
 * @cssprop {String} --map-font-text-decoration - The font text decoration CSS custom property.
 * @cssprop {String} --map-font-text-transform - The font text transform CSS custom property.
 * @cssprop {String} --map-font-weight - The font weight CSS custom property.
 * @cssprop {String} --map-gap - The gap CSS custom property.
 * @cssprop {String} --map-padding-bottom - The padding bottom CSS custom property.
 * @cssprop {String} --map-padding-left - The padding left CSS custom property.
 * @cssprop {String} --map-padding-right - The padding right CSS custom property.
 * @cssprop {String} --map-padding-top - The padding top CSS custom property.
 * @cssprop {String} --map-shadow - The shadow CSS custom property.
 * @cssprop {String} --map-shadow-blur - The shadow blur CSS custom property.
 * @cssprop {String} --map-shadow-color - The shadow color CSS custom property.
 * @cssprop {String} --map-shadow-offset-x - The shadow offset x CSS custom property.
 * @cssprop {String} --map-shadow-offset-y - The shadow offset y CSS custom property.
 * @cssprop {String} --map-shadow-spread - The shadow spread CSS custom property.
 * @cssprop {String} --map-transition-duration - The transition duration CSS custom property.
 * @cssprop {String} --map-transition-mode - The transition mode CSS custom property.
 * @cssprop {String} --map-transition-property - The transition property CSS custom property.
 * @cssprop {String} --map-translate - The translate CSS custom property.
 *
 * @example
 * ```html
 * <!-- Basic map (configure latitude, longitude, zoom via JavaScript) -->
 * <mosaik-map></mosaik-map>
 *
 * <!-- Disabled map -->
 * <mosaik-map disabled></mosaik-map>
 * ```
 *
 * @public
 */
export declare class MapElement extends MapElement_base implements IMapElementProps {
    private _latitude;
    private _longitude;
    private _zoom;
    private _type;
    private _label;
    /**
     * @public
     */
    constructor();
    /**
     * Natural tag name of this element.
     *
     * @public
     * @static
     * @readonly
     */
    static get is(): string;
    /**
     * Latitude in WGS84 (-90..90).
     *
     * @public
     */
    get latitude(): number;
    set latitude(value: number);
    /**
     * Longitude in WGS84 (-180..180).
     *
     * @public
     */
    get longitude(): number;
    set longitude(value: number);
    /**
     * Zoom level (typical range 1..20).
     *
     * @public
     */
    get zoom(): number;
    set zoom(value: number);
    /**
     * Provider type. Supports 'auto' | 'google' | 'openstreetmap' | 'osm' | 'bing'.
     * When 'auto', defaults to 'openstreetmap'.
     *
     * @public
     */
    get provider(): MapProvider;
    set provider(value: MapProvider);
    /**
     * Optional label/aria description.
     *
     * @public
     */
    get label(): string;
    set label(value: string);
    /**
     * Returns the resolved provider type (Default → OpenStreetMap).
     *
     * @private
     */
    private get resolvedProvider();
    /**
     * True if current coordinates are valid.
     *
     * @private
     */
    private get hasValidCoordinates();
    /**
     * Returns an embeddable URL for the current provider and coordinates.
     *
     * @public
     */
    getEmbedUrl(): string;
}
/**
 * @public
 */
export declare namespace MapElement {
    type Props = IMapElementProps;
}
/**
 * @public
 */
declare global {
    interface HTMLElementTagNameMap {
        'mosaik-map': MapElement;
    }
}
export {};
//# sourceMappingURL=MapElement.d.ts.map