import { FC } from 'react';
import { FleetResourceEventStreamProps } from '../types';
/**
 * A multicluster-aware ResourceEventStream component that displays real-time Kubernetes events
 * for resources on managed clusters. Provides equivalent functionality to the OpenShift console's
 * ResourceEventStream for resources on managed clusters.
 *
 * For managed cluster resources, this component establishes a websocket connection to stream
 * events from the specified cluster. For hub cluster resources or when no cluster is specified,
 * it falls back to the standard OpenShift console ResourceEventStream component.
 *
 * @see {@link https://github.com/openshift/console/blob/main/frontend/packages/console-dynamic-plugin-sdk/docs/api.md#resourceeventstream} OpenShift Console Dynamic Plugin SDK ResourceEventStream
 *
 * @component
 *
 * @param {Object} props - Component properties
 * @param {FleetK8sResourceCommon} props.resource - The Kubernetes resource to show events for.
 *   Must include standard K8s metadata (name, namespace, uid, kind) and an optional cluster property.
 *
 * @example
 * // Display events for a resource on a managed cluster
 * <FleetResourceEventStream
 *   resource={{
 *     metadata: { name: 'my-pod', namespace: 'default', uid: '123' },
 *     kind: 'Pod',
 *     cluster: 'managed-cluster-1'
 *   }}
 * />
 *
 * @example
 * // Display events for a hub cluster resource (falls back to OpenShift console component)
 * <FleetResourceEventStream
 *   resource={{
 *     metadata: { name: 'my-deployment', namespace: 'openshift-gitops', uid: '456' },
 *     kind: 'Deployment'
 *     // No cluster property - uses hub cluster
 *   }}
 * />
 *
 * @example
 * // Display events for a cluster-scoped resource on a managed cluster
 * <FleetResourceEventStream
 *   resource={{
 *     metadata: { name: 'my-node', uid: '789' },
 *     kind: 'Node',
 *     cluster: 'edge-cluster-2'
 *   }}
 * />
 *
 * @returns {JSX.Element} A rendered event stream component showing real-time Kubernetes events
 *
 * @remarks
 * **Behavior:**
 * - When `resource.cluster` is set and differs from hub cluster: Uses fleet websocket connection
 * - When `resource.cluster` is undefined or equals hub cluster: Falls back to OpenShift console ResourceEventStream
 * - Automatically handles connection lifecycle (open, close, error, reconnect)
 * - Supports both namespaced and cluster-scoped resources
 * - Displays up to 50 most recent events with real-time streaming
 * - Provides play/pause controls for event streaming
 *
 * **Event Filtering:**
 * Events are filtered by `involvedObject.uid`, `involvedObject.name`, and `involvedObject.kind`
 * to show only events related to the specified resource.
 *
 * **Error Handling:**
 * - Shows loading spinner during initial connection
 * - Displays error states for connection failures
 * - Shows empty state when no events exist
 * - Automatically attempts reconnection on websocket errors
 *
 * @see {@link FleetK8sResourceCommon} for resource type definition
 * @see {@link https://github.com/openshift/console/tree/master/frontend/packages/console-dynamic-plugin-sdk} OpenShift Console Dynamic Plugin SDK
 */
export declare const FleetResourceEventStream: FC<FleetResourceEventStreamProps>;
//# sourceMappingURL=FleetResourceEventStream.d.ts.map