/** 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;
    /** Required for branch rows; absent on plain trace rows (which are root-rooted). */
    spanId?: string | null;
    /** `null`/missing → root span. Drives the Kind column's icon (top-level trace vs nested branch). */
    parentSpanId?: string | null;
    name: string;
    entityType?: string | null;
    entityId?: string | null;
    entityName?: string | null;
    attributes?: TraceAttributes | null;
    input?: unknown;
    startedAt?: Date | string | null;
    createdAt: Date | string;
};
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;
    /**
     * Required in branches mode to disambiguate rows sharing a `traceId`. When set,
     * a row is featured only when both `traceId` and `spanId` match.
     */
    featuredSpanId?: string | null;
    /** Branches mode mixes root traces with subtraces — enables the Trace/Subtrace tooltip on the
     *  level icon in the Name column, which is meaningless when every row is a root. */
    isBranchesMode?: boolean;
    /** Keys (`traceId:spanId`) of rows that just arrived via delta polling. Rows whose key is in
     *  this set get a temporary tint to distinguish them from rows present since the last page-mode
     *  fetch. Auto-expires upstream (in useTraces) after a short window. */
    recentlyAddedKeys?: Set<string>;
    /** Called when a row is clicked. The current selection logic (toggle on same id) is the consumer's call. */
    onTraceClick: (trace: TracesListViewTrace) => void;
};
/**
 * Virtualized presentational list. Renders only the visible window via TanStack Virtual, and
 * uses DataList primitives for layout (CSS Grid with subgrid rows).
 */
export declare function TracesListView({ traces, isLoading, isFetchingNextPage, hasNextPage, setEndOfListElement, filtersApplied, featuredTraceId, featuredSpanId, isBranchesMode, recentlyAddedKeys, onTraceClick, }: TracesListViewProps): import("react/jsx-runtime").JSX.Element;
