import * as react_jsx_runtime from 'react/jsx-runtime';
import { ComponentType } from 'react';

/**
 * Time range selector for dashboard metrics
 */
type TimeRange = '1h' | '24h' | '7d' | '30d';

type ActivityType = 'workflow_execution' | 'agent_run' | 'hitl_action' | 'webhook_received' | 'webhook_executed' | 'webhook_failed' | 'credential_change' | 'credential_read' | 'api_key_change' | 'agent_access_grant_change' | 'deployment_change' | 'membership_change';
type ActivityStatus = 'success' | 'failure' | 'pending' | 'approved' | 'rejected' | 'completed';
interface Activity {
    id: string;
    organizationId: string;
    activityType: ActivityType;
    status: ActivityStatus;
    title: string;
    description: string | null;
    entityType: string;
    entityId: string;
    entityName: string | null;
    metadata: Record<string, unknown> | null;
    actorId: string | null;
    actorType: string | null;
    occurredAt: Date;
    createdAt: Date;
}

interface ExecutionLogsPageRenderTrendChartArgs {
    timeRange: TimeRange;
}
interface ExecutionLogsPageProps {
    /** Current time range value — caller passes from its own store */
    timeRange: TimeRange;
    /** Items per page (defaults to 20) */
    pageSize?: number;
    /** Called when the user clicks an execution row — caller handles navigation */
    onNavigateToExecution: (params: {
        resourceType: string;
        resourceId: string;
        executionId: string;
    }) => void;
    /** Render slot for the trend chart section */
    renderTrendChart: (args: ExecutionLogsPageRenderTrendChartArgs) => React.ReactNode;
}
declare function ExecutionLogsPage({ timeRange, pageSize, onNavigateToExecution, renderTrendChart }: ExecutionLogsPageProps): react_jsx_runtime.JSX.Element;

interface ExecutionHealthProps {
    /** Current time range value — threaded from CC wrapper's useAppStore read */
    timeRange: TimeRange;
    /** Called when the user clicks an error row — opens ErrorDetailsModal in CC wrapper */
    onErrorClick: (errorId: string) => void;
}
declare function ExecutionHealth({ timeRange, onErrorClick }: ExecutionHealthProps): react_jsx_runtime.JSX.Element;

/**
 * ErrorDetailsModal - Modal showing full error details
 * Displays error message, stack trace, execution context, and actions
 */
interface ErrorDetailsModalProps {
    executionId: string | null;
    opened: boolean;
    onClose: () => void;
    /** Organization name — replaces the internal useOrganizations read */
    organizationName?: string;
}
declare function ErrorDetailsModal({ executionId, opened, onClose, organizationName }: ErrorDetailsModalProps): react_jsx_runtime.JSX.Element;

interface CostAnalyticsProps {
    timeRange: TimeRange;
}
declare function CostAnalytics({ timeRange }: CostAnalyticsProps): react_jsx_runtime.JSX.Element;

interface ActivityLogProps {
    timeRange: TimeRange;
    pageSize?: number;
    onNavigate: (path: string) => void;
}
declare function ActivityLog({ timeRange, pageSize, onNavigate }: ActivityLogProps): react_jsx_runtime.JSX.Element;

interface ActivityFeedProps {
    limit?: number;
    activityType?: ActivityType;
    entityType?: string;
    entityId?: string;
    filters?: {
        activityType?: ActivityType;
        startDate?: string;
    };
    clientFilters?: {
        status?: ActivityStatus;
        search?: string;
    };
    overrideData?: {
        activities: Activity[];
        total: number;
    };
    overrideLoading?: boolean;
}
/**
 * Activity Feed component with real-time updates
 *
 * @example
 * // Basic usage - show recent activities
 * <ActivityFeed limit={50} />
 *
 * @example
 * // Filtered by type
 * <ActivityFeed activityType="workflow_execution" limit={20} />
 *
 * @example
 * // Filtered by entity
 * <ActivityFeed entityType="workflow" entityId="workflow-123" />
 */
declare function ActivityFeed({ limit, activityType, entityType, entityId, filters, clientFilters, overrideData, overrideLoading }: ActivityFeedProps): react_jsx_runtime.JSX.Element;

interface NotificationCenterProps {
    pageSize?: number;
}
declare function NotificationCenter({ pageSize }: NotificationCenterProps): react_jsx_runtime.JSX.Element;

type SystemSidebarComponent = ComponentType;
type SystemIconComponent = ComponentType<{
    size?: number;
    stroke?: number;
}>;
type SystemSidebarWidthResolver = number | ((context: {
    currentPath: string;
}) => number);
interface SystemModule {
    /** Unique stable identifier for this UI system module. */
    key: string;
    /** Organization Model system id this module presents. Omit for navigation-only app surfaces. */
    systemId?: string;
    /** Route prefixes owned by navigation-only app surfaces. */
    routePrefixes?: string[];
    /** Capability identifiers contributed by this system module. */
    capabilityIds?: string[];
    /** Icon used when this system node appears in shell navigation. */
    icon?: SystemIconComponent;
    /** Sidebar component rendered when this system's subtree route is active. */
    sidebar?: SystemSidebarComponent;
    /** Optional shell sidebar width override. Defaults to 250px. */
    sidebarWidth?: SystemSidebarWidthResolver;
    /** Operations-only bridge connecting this system to the organization graph node. */
    organizationGraph?: OrganizationGraphSystemBridge;
}
interface OrganizationGraphSystemBridge {
    systemId?: string;
}

declare const monitoringManifest: SystemModule;

export { ActivityFeed, ActivityLog, CostAnalytics, ErrorDetailsModal, ExecutionHealth, ExecutionLogsPage, NotificationCenter, monitoringManifest };
export type { ActivityFeedProps, ActivityLogProps, CostAnalyticsProps, ErrorDetailsModalProps, ExecutionHealthProps, ExecutionLogsPageProps, ExecutionLogsPageRenderTrendChartArgs, NotificationCenterProps };
