import * as React from 'react';
/**
 * Represents an interaction event from an AI interactive component.
 * Used to communicate user interactions back to the parent application.
 */
export interface AIInteractionEvent {
    /** Unique identifier for the component instance */
    componentId: string;
    /** Type of interactive component that generated the event */
    componentType: 'chart' | 'select' | 'table' | 'form';
    /** The action that was performed (e.g., 'click', 'select', 'submit') */
    action: string;
    /** The value associated with the interaction */
    value: unknown;
    /** Unix timestamp when the interaction occurred */
    timestamp: number;
}
/**
 * Context value for AI interaction handling
 */
export interface AIInteractionContextValue {
    /** Callback invoked when an interaction occurs */
    onInteraction?: (event: AIInteractionEvent) => void;
}
declare const AIInteractionContext: React.Context<AIInteractionContextValue | null>, useAIInteraction: () => AIInteractionContextValue;
/**
 * Hook to access the AI interaction context.
 * Must be used within an AIInteractionProvider.
 *
 * @throws Error if used outside of AIInteractionProvider
 * @returns The AI interaction context value
 */
export { useAIInteraction };
export interface AIInteractionProviderProps {
    /** Child components that can access the interaction context */
    children: React.ReactNode;
    /** Callback invoked when any child interactive component triggers an interaction */
    onInteraction?: (event: AIInteractionEvent) => void;
}
/**
 * Provider component that enables AI interactive components to communicate
 * user interactions back to the parent application.
 */
export declare function AIInteractionProvider({ children, onInteraction, }: AIInteractionProviderProps): React.ReactElement;
export declare namespace AIInteractionProvider {
    var displayName: string;
}
export { AIInteractionContext };
