import { ObcPoiBase } from '../building-blocks/poi/poi-base.js';
import { ObcPoiObjectVesselType, ObcPoiObjectVesselStyle, ObcPoiObjectVesselState } from '../poi-object-vessel/poi-object-vessel.js';
import '../poi-button-vessel/poi-button-vessel.js';
import '../../icons/icon-vessel-generic-default-filled.js';
export { ObcPoiObjectVesselType, ObcPoiObjectVesselStyle, ObcPoiObjectVesselState, };
/**
 * `<obc-poi-vessel>` - Vessel marker variant with layout positioning and layer integration.
 *
 * Extends `ObcPoiBase` to provide the "vessel" variant of the POI system.
 * Renders `<obc-poi>` with a slotted `<obc-poi-button-vessel>`.
 *
 * @slot - Icon content forwarded to the inner vessel object.
 * @slot turn-indicator - Optional turn indicator content for speed-rot type.
 * @slot speed-indicator - Optional speed indicator content for speed-rot type.
 * @slot header - Optional header content forwarded to the poi button.
 * @fires obc-poi-data-layout-change {CustomEvent<void>} Fired when layout-driving properties change.
 */
export declare class ObcPoiVessel extends ObcPoiBase {
    vesselType: ObcPoiObjectVesselType;
    vesselStyle: ObcPoiObjectVesselStyle;
    vesselState: ObcPoiObjectVesselState | null;
    vesselInteractive: boolean;
    protected getVisualNodes(): {
        poi: HTMLElement | null;
        button: HTMLElement | null;
        wrapper: HTMLElement | null;
        buttonWrapper: HTMLElement | null;
    };
    protected renderButtonSlot(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult[];
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-poi-vessel': ObcPoiVessel;
    }
}
//# sourceMappingURL=poi-vessel.d.ts.map