import { LitElement } from 'lit';
export declare enum POIStyle {
    Normal = "normal",
    Enhanced = "enhanced",
    Regular = "regular",
    Selected = "selected",
    Alarm = "alarm",
    Caution = "caution",
    Warning = "warning",
    Route = "route"
}
export declare enum POILineType {
    Regular = "regular",
    Dashed = "dashed"
}
export interface POILineParams {
    lineColor: string;
    outlineColor: string;
    width: number;
    lineWidth: number;
    outlineWidth: number;
    shadowAlpha: number;
    dotStart: number;
    lineEnd: number;
    filterDimensions: {
        x: number;
        y: number;
        width: number;
    };
    dashArray?: string;
    dashOffset?: number;
    strokeLinecap?: 'round' | 'butt' | 'square';
    dashOutlineAndShadow?: boolean;
}
export type POIStyleVariant = Exclude<POIStyle, POIStyle.Normal | POIStyle.Enhanced>;
export declare function resolvePOIStyle(style: POIStyle | string): POIStyleVariant;
export declare function getPOILineConfig(style: POIStyle | string, lineType?: POILineType | string): POILineParams;
export declare const POI_STYLE_OPTIONS: POIStyle[];
export declare const POI_LINE_TYPE_OPTIONS: POILineType[];
export declare const POI_VISUAL_VARIANTS: Array<{
    style: POIStyle;
    type: POILineType;
}>;
/**
 * `<obc-poi-graphic-line>` - SVG connector line primitive for marker stems and leader lines.
 *
 * ## Overview
 * This component renders the line geometry only, including straight and offset paths with optional dashed styling.
 * Keywords: connector line, leader line, guide line, tether line, marker stem.
 *
 * ## Features/Variants
 * - `lineHeight`: Controls the rendered connector length. Default: `96`.
 * - `lineStart`: Sets the Y-axis start position for line geometry. Default: `1`.
 * - `lineStyle`: Selects style theme (for example `regular`, `enhanced`, `alarm`). Default: `enhanced`.
 * - `lineType`: Chooses path treatment (`regular` or `dashed`). Default: `regular`.
 * - `offset`: Applies horizontal offset to create angled connector segments.
 *
 * ## Usage Guidelines
 *
 * - Use this for a visual-only connector; use `<obc-poi-line>` when you need
 *   integrated pointer/label behavior.
 * - Use `lineType="regular"` for continuous POI lines and `lineType="dashed"` for
 *   non-primary or guidance-style links.
 * - Keep `lineHeight` and `lineStart` consistent with surrounding marker layout so
 *   connectors align with button/pointer elements.
 * - Use `offset` to route around dense UI and avoid visual overlap.
 *
 * ## Slots/Content
 * This component has no slots.
 *
 * ## Events
 * This component emits no custom events.
 *
 * ## Best Practices
 * - Prefer semantic `lineStyle` values derived from UI state instead of hardcoding colors.
 * - Keep offsets minimal to preserve visual traceability between marker and target.
 * - Reuse shared `POIStyle` and `POILineType` tokens for consistent rendering across POI components.
 *
 * ## Example
 *
 * ```html
 * <obc-poi-graphic-line line-height="96" line-style="enhanced" line-type="regular" offset="0"></obc-poi-graphic-line>
 * ```
 */
export declare class ObcPoiGraphicLine extends LitElement {
    private static _idCounter;
    private readonly _idPrefix;
    lineHeight: number;
    lineStart: number;
    lineStyle: POIStyle;
    lineType: POILineType;
    offset: number;
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
export declare function graphicLine({ style, lineHeight, lineStart, totalHeight, offset, idPrefix, }: {
    style: POILineParams;
    lineHeight: number;
    lineStart?: number;
    totalHeight: number;
    offset: number;
    idPrefix: string;
}): import('lit-html').TemplateResult<2>;
declare global {
    interface HTMLElementTagNameMap {
        'obc-poi-graphic-line': ObcPoiGraphicLine;
    }
}
//# sourceMappingURL=poi-graphic-line.d.ts.map