import * as React from 'react';
import type { Participant } from 'livekit-client';
import type { ParticipantClickEvent, TrackReferenceOrPlaceholder } from '@livekit/components-core';
/**
 * The `ParticipantContextIfNeeded` component only creates a `ParticipantContext`
 * if there is no `ParticipantContext` already.
 */
export declare function ParticipantContextIfNeeded(props: React.PropsWithChildren<{
    participant?: Participant;
}>): JSX.Element;
/**
 * Only create a `TrackRefContext` if there is no `TrackRefContext` already.
 */
export declare function TrackRefContextIfNeeded(props: React.PropsWithChildren<{
    trackRef?: TrackReferenceOrPlaceholder;
}>): JSX.Element;
export interface ParticipantTileProps extends React.HTMLAttributes<HTMLDivElement> {
    /** The track reference to display. */
    trackRef?: TrackReferenceOrPlaceholder;
    disableSpeakingIndicator?: boolean;
    disableTileActions?: boolean;
    disableTileFocusToggle?: boolean;
    onParticipantClick?: (event: ParticipantClickEvent) => void;
}
/**
 * The `ParticipantTile` component is the base utility wrapper for displaying a visual representation of a participant.
 * This component can be used as a child of the `TrackLoop` component or by passing a track reference as property.
 */
export declare const ParticipantTile: (props: ParticipantTileProps & React.RefAttributes<HTMLDivElement>) => React.ReactNode;
