import { LitElement } from 'lit';
/**
 * Type variants for POI objects controlling size and shape.
 * - `indicator`: Icon only with drop shadow, no background frame.
 * - `regular`: Standard size (`--maneuvering-components-poi-button-touch-target` touch target, 36px background, 24px icon).
 * - `large`: Larger size (`--maneuvering-components-poi-button-large-touch-target` touch target, 52px background, 36px icon).
 * - `n-up`: Square background (`--maneuvering-components-poi-button-touch-target` touch target, 32px background, 24px icon).
 * - `n-up-large`: Large square background (`--maneuvering-components-poi-button-large-touch-target` touch target, 48px background, 36px icon).
 */
export declare enum ObcPoiObjectType {
    Indicator = "indicator",
    Regular = "regular",
    Large = "large",
    NUp = "n-up",
    NUpLarge = "n-up-large"
}
/**
 * Style variants for POI objects.
 * - `regular`: White/translucent background.
 * - `categorical`: Blue-tinted background for categorized items.
 * - `enhanced`: Elevated/prominent background style.
 */
export declare enum ObcPoiObjectStyle {
    Regular = "regular",
    Categorical = "categorical",
    Enhanced = "enhanced"
}
/**
 * State variants for POI objects controlling selection and display modes.
 * - `unchecked`: Default state.
 * - `checked`: Selected state with visual indicator.
 * - `static-unchecked`: Flat background style, not selected.
 * - `static-checked`: Flat background style, selected.
 * - `activated`: White outer ring around background.
 * - `overlapped`: Smaller circle with hidden icon (for overlapping markers).
 * - `caution`: Caution alert state.
 * - `warning`: Warning alert state.
 * - `alarm`: Alarm alert state.
 */
export declare enum ObcPoiObjectState {
    Unchecked = "unchecked",
    Checked = "checked",
    StaticUnchecked = "static-unchecked",
    StaticChecked = "static-checked",
    Activated = "activated",
    Overlapped = "overlapped",
    Caution = "caution",
    Warning = "warning",
    Alarm = "alarm"
}
/**
 * `<obc-poi-object>` - Base icon marker button used as the visual core of POI-style targets.
 *
 * ## Overview
 * This component renders slotted icon content inside a configurable frame that handles size, style, and state variants.
 * Keywords/synonyms: marker button, icon target, target chip, point marker.
 *
 * ## Features/Variants
 * - `type` (default `regular`): `indicator`, `regular`, `large`, `n-up`, `n-up-large`.
 * - `objectStyle` (default `regular`): `regular` or `categorical`.
 * - `state` (default `unchecked`): `unchecked`, `checked`, `static-unchecked`, `static-checked`, `activated`, `overlapped`.
 * - `interactive` (default `false`): enables keyboard activation (`Enter`/`Space`) and focus/active semantics.
 * - Placeholder icon handling: adds a CSS state when the default slot contains `obi-placeholder`.
 *
 * ## Usage Guidelines
 * - Use `indicator` for icon-only visuals without a background frame.
 * - Use `regular` or `large` for circular framed targets.
 * - Use `n-up` or `n-up-large` for square framed targets.
 * - Use `overlapped` when icon content should collapse to reduce visual density.
 *
 * ## Slots/Content
 * - Default slot: Icon/content displayed inside the marker frame.
 *
 * ## Events
 * This component does not emit custom events.
 * Native `click` is available when `interactive` is enabled.
 *
 * ## Best Practices
 * - Keep `interactive` disabled for decorative markers.
 * - Map `state` directly from application state to avoid mixed visual semantics.
 *
 * ## Example
 * ```html
 * <obc-poi-object type="regular" objectStyle="regular" state="checked" interactive>
 *   <obi-placeholder></obi-placeholder>
 * </obc-poi-object>
 * ```
 *
 * @slot - Icon/content displayed inside the marker frame.
 */
export declare class ObcPoiObject extends LitElement {
    type: ObcPoiObjectType;
    objectStyle: ObcPoiObjectStyle;
    state: ObcPoiObjectState;
    interactive: boolean;
    private hasPlaceholderIcon;
    private get isChecked();
    private get isStatic();
    private get isActivated();
    private get isOverlapped();
    private get isInteractive();
    private get isSquare();
    private get isLargeSize();
    private get isIndicator();
    private handleKeyDown;
    private handleKeyUp;
    private handleSlotChange;
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-poi-object': ObcPoiObject;
    }
}
//# sourceMappingURL=poi-object.d.ts.map