import type { Datum } from "./charts/shared/datumTypes";
import * as React from "react";
import type { ChartObservation, ClickObservation } from "./store/ObservationStore";
export interface DetailsPanelProps {
    /**
     * Render function receiving the clicked datum and the full observation.
     * Return null to hide the panel for a given datum.
     */
    children: (datum: Datum, observation: ClickObservation) => React.ReactNode;
    /** Panel position relative to the chart. Default: "right" */
    position?: "right" | "bottom" | "overlay";
    /** Panel width (for "right" position) or height (for "bottom"). Default: 300 */
    size?: number;
    /** Observation trigger type. Default: "click" */
    trigger?: "click" | "hover";
    /** Filter observations by chart ID */
    chartId?: string;
    /**
     * Direct observation feed — use when the chart pushes observations via
     * onObservation callback rather than through the ObservationStore.
     * When set, bypasses useChartObserver and reacts to this prop directly.
     */
    observation?: ChartObservation | null;
    /** Whether clicking empty space dismisses the panel. Default: true */
    dismissOnEmpty?: boolean;
    /** Custom close button. Set to false to hide. Default: true */
    showClose?: boolean;
    /** Called when the panel opens or closes */
    onToggle?: (open: boolean) => void;
    /** CSS class for the panel container */
    className?: string;
    /** Inline style overrides */
    style?: React.CSSProperties;
}
export declare function DetailsPanel({ children, position, size, trigger, chartId, observation: directObservation, dismissOnEmpty, showClose, onToggle, className, style, }: DetailsPanelProps): React.JSX.Element | null;
export declare namespace DetailsPanel {
    var displayName: string;
}
