/** Span attributes fields the list view reads directly. Extra unknown keys are allowed so callers
 *  can pass the full attributes record from @mastra/core/storage without mapping. */
export type TraceAttributes = {
    status?: string | null;
    agentId?: string | null;
    workflowId?: string | null;
    [key: string]: unknown;
};
export type TracesListViewTrace = {
    traceId: string;
    name: string;
    entityType?: string | null;
    entityId?: string | null;
    entityName?: string | null;
    attributes?: TraceAttributes | null;
    input?: unknown;
    startedAt?: Date | string | null;
    createdAt: Date | string;
    threadId?: string | null;
};
export type TracesListViewProps = {
    traces: TracesListViewTrace[];
    isLoading?: boolean;
    isFetchingNextPage?: boolean;
    hasNextPage?: boolean;
    setEndOfListElement?: (element: HTMLDivElement | null) => void;
    filtersApplied?: boolean;
    /** Currently featured/selected trace — its row gets the highlighted background. */
    featuredTraceId?: string | null;
    /** Called when a row is clicked. The current selection logic (toggle on same id) is the consumer's call. */
    onTraceClick: (trace: TracesListViewTrace) => void;
    groupByThread?: boolean;
    threadTitles?: Record<string, string>;
};
/**
 * Pure presentational list. Renders the TracesDataList primitive with rows, optional thread grouping,
 * empty state, and infinite-paging loader. Owns no state.
 */
export declare function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, setEndOfListElement, filtersApplied, featuredTraceId, onTraceClick, groupByThread, threadTitles, }: TracesListViewProps): import("react/jsx-runtime").JSX.Element;
