import { type UserProfileTabValue } from "../user-profile.constants";
import type { UserProfileActivity, UserProfileCancelOrderHandler, UserProfileOpenOrder, UserProfilePosition, UserProfilePositionFilter } from "../user-profile.types";
type PositionsActivityProps = {
    activePositions?: UserProfilePosition[];
    closedPositions?: UserProfilePosition[];
    openOrders?: UserProfileOpenOrder[];
    activities?: UserProfileActivity[];
    onPositionClick?: (position: UserProfilePosition) => void;
    getPositionHref?: (position: UserProfilePosition) => string | undefined;
    onClaim?: (position: UserProfilePosition) => Promise<void> | void;
    claimingPositionKeys?: Record<string, boolean>;
    onActivityClick?: (activity: UserProfileActivity) => void;
    getActivityHref?: (activity: UserProfileActivity) => string | undefined;
    onOpenOrderClick?: (order: UserProfileOpenOrder) => void;
    onCancelOrder?: UserProfileCancelOrderHandler;
    cancellingOrderIds?: Record<string, boolean>;
    isLoadingPositions?: boolean;
    isLoadingActivities?: boolean;
    isLoadingOpenOrders?: boolean;
    positionsError?: boolean;
    activitiesError?: boolean;
    openOrdersError?: boolean;
    hasMoreActivePositions?: boolean;
    isLoadingMoreActivePositions?: boolean;
    onLoadMoreActivePositions?: () => void;
    hasMoreClosedPositions?: boolean;
    isLoadingMoreClosedPositions?: boolean;
    onLoadMoreClosedPositions?: () => void;
    onPositionFilterChange?: (filter: "active" | "closed") => void;
    hasMoreActivities?: boolean;
    isLoadingMoreActivities?: boolean;
    onLoadMoreActivities?: () => void;
    hasMoreOpenOrders?: boolean;
    isLoadingMoreOpenOrders?: boolean;
    onLoadMoreOpenOrders?: () => void;
    /**
     * Active tab. When provided, the component is controlled — `onTabChange` is
     * invoked on click but the source of truth is the host (typically URL state).
     * When omitted, the component manages its own tab state, defaulting to "positions".
     */
    tab?: UserProfileTabValue;
    onTabChange?: (tab: UserProfileTabValue) => void;
    /** Initial active/closed segmented filter for the positions tab (defaults to "active"). */
    initialPositionFilter?: UserProfilePositionFilter;
    className?: string;
};
export declare const PositionsActivity: {
    ({ activePositions, closedPositions, activities, onPositionClick, getPositionHref, onClaim, claimingPositionKeys, onActivityClick, getActivityHref, isLoadingPositions, isLoadingActivities, positionsError, activitiesError, hasMoreActivePositions, isLoadingMoreActivePositions, onLoadMoreActivePositions, hasMoreClosedPositions, isLoadingMoreClosedPositions, onLoadMoreClosedPositions, onPositionFilterChange, hasMoreActivities, isLoadingMoreActivities, onLoadMoreActivities, tab, onTabChange, initialPositionFilter, className, }: PositionsActivityProps): JSX.Element;
    displayName: string;
};
export {};
