import { LitElement } from 'lit';
import { ObcPoiCardHeaderVariant } from '../poi-card-header/poi-card-header.js';
import '../poi-card-header/poi-card-header.js';
export { ObcPoiCardHeaderVariant };
export interface PoiCardClickDetail {
    index: string;
}
export type PoiCardClickEvent = CustomEvent<PoiCardClickDetail>;
/**
 * Direction of the arrow pointer anchoring the card.
 * - `none`: No pointer shown.
 * - `top`: Arrow points up from the card.
 * - `bottom`: Arrow points down from the card.
 * - `left`: Arrow points left from the card.
 * - `right`: Arrow points right from the card.
 */
export declare enum PointerDirection {
    None = "none",
    Top = "top",
    Bottom = "bottom",
    Left = "left",
    Right = "right"
}
/**
 * `<obc-poi-card>` - Content card container with optional pointer arrow, header variants, and interactive click handling.
 *
 * ## Overview
 * Use this component to wrap contextual marker details in a card with optional directional anchoring.
 * Keywords/synonyms: detail card, marker card, anchored card, popover card.
 *
 * ## Features/Variants
 * - `pointerDirection` (default `none`): `none`, `top`, `bottom`, `left`, `right`.
 * - `fixedSize` (default `false`): toggles fixed `256x256` sizing instead of content-based sizing.
 * - Header options:
 *   - `showHeader` controls whether the header area is visible.
 *   - `headerVariant` controls header layout (`tag`, `condensed`, `regular`, `detailed`).
 *   - `index`, `cardTitle`, `description`, `source`, `timestamp` are forwarded to `obc-poi-card-header`.
 *   - `hasLeadingIcon` and `hasCloseButton` gate header affordances.
 * - `interactive` (default `false`): enables keyboard activation and `card-click` dispatch.
 * - `hasAlert` (default `false`): shows alert ring layer when `interactive` is enabled.
 *
 * ## Usage Guidelines
 * - Use `pointerDirection` when the card should visually point to an anchor target.
 * - Keep `interactive` off for read-only cards.
 * - Use the header slots only when the selected `headerVariant` renders them.
 *
 * ## Slots/Content
 * - Default slot: Main card body content.
 * - `leading-icon`: Optional icon used by the regular header variant.
 * - `poi-icon`: Optional icon used by the detailed header variant.
 *
 * ## Events
 * - `card-click`: Fired when the card surface is activated in interactive mode.
 *
 * ## Best Practices
 * - Keep `index` stable so event payloads remain predictable.
 * - Pair `hasAlert` with meaningful alert state in surrounding UI logic.
 *
 * ## Example
 * ```html
 * <obc-poi-card pointerDirection="bottom" index="1" cardTitle="Target" interactive>
 *   <obi-placeholder slot="leading-icon"></obi-placeholder>
 *   <div>Custom card content</div>
 * </obc-poi-card>
 * ```
 *
 * @slot - Main card body content.
 * @slot leading-icon - Optional icon used by the regular header variant.
 * @slot poi-icon - Optional icon used by the detailed header variant.
 * @fires card-click {CustomEvent<PoiCardClickDetail>} Fired when the card is activated in interactive mode.
 */
export declare class ObcPoiCard extends LitElement {
    pointerDirection: PointerDirection;
    /** When true, uses fixed 256x256px size; otherwise sizes to content. */
    fixedSize: boolean;
    showHeader: boolean;
    headerVariant: ObcPoiCardHeaderVariant;
    index: string;
    cardTitle: string;
    /** Passed to header (detailed variant only). */
    description: string;
    /** Source badge text (e.g., "AIS", "RADAR"). Hidden when empty. */
    source: string;
    /** Passed to header (detailed variant only). */
    timestamp: string;
    /** Enables the leading-icon slot (regular header variant only). */
    hasLeadingIcon: boolean;
    /** Enables the close button (detailed header variant only). */
    hasCloseButton: boolean;
    /** Enables click events, keyboard focus, and alert border support. */
    interactive: boolean;
    /** Shows alert/caution border rings. Requires `interactive` to be true. */
    hasAlert: boolean;
    private handleCardClick;
    private handleKeyDown;
    private handleKeyUp;
    private renderPointerSvg;
    private renderTopPointer;
    private renderBottomPointer;
    private renderLeftPointer;
    private renderRightPointer;
    private renderHeader;
    private renderAlertLayer;
    render(): import('lit-html').TemplateResult<1>;
    static styles: import('lit').CSSResult;
}
declare global {
    interface HTMLElementTagNameMap {
        'obc-poi-card': ObcPoiCard;
    }
}
//# sourceMappingURL=poi-card.d.ts.map