/**
 * Universal Entity Detail Component
 *
 * Automatically generates detail/view pages for any entity based on configuration.
 * Supports child entities, actions, and comprehensive layout.
 */
import React from 'react';
import type { EntityConfig } from '../../lib/entities/types';
/**
 * Custom section configuration for entity details
 */
export interface CustomSectionConfig {
    /**
     * Unique identifier for the section
     */
    id: string;
    /**
     * Component to render for this section
     * Receives the entity data and entityConfig as props
     */
    component: React.ComponentType<{
        data: Record<string, unknown>;
        entityConfig: EntityConfig;
    }>;
    /**
     * Position where to render the section
     * - 'after-details': After the main details card
     * - 'after-children': After child entity sections
     * - 'sidebar': In the sidebar area
     */
    position?: 'after-details' | 'after-children' | 'sidebar';
}
export interface EntityDetailProps {
    entityConfig: EntityConfig;
    data: Record<string, unknown>;
    isLoading?: boolean;
    error?: string | null;
    childData?: Record<string, Record<string, unknown>[]>;
    childEntityNames?: string[];
    onEdit?: () => void;
    onDelete?: () => Promise<void>;
    onChildAdd?: (childName: string, data: Record<string, unknown>) => Promise<void>;
    onChildEdit?: (childName: string, id: string, data: Record<string, unknown>) => Promise<void>;
    onChildDelete?: (childName: string, id: string) => Promise<void>;
    onRefresh?: () => void;
    enableActions?: boolean;
    className?: string;
    /**
     * Optional custom form components for specific child entities
     * Map of childEntityName -> CustomFormComponent
     * Example: { 'social-platforms': SocialPlatformOAuthForm }
     */
    customFormComponents?: Record<string, React.ComponentType<any>>;
    /**
     * Optional custom sections to render in the detail view
     * Useful for entity-specific features like team members
     */
    customSections?: CustomSectionConfig[];
}
export declare function EntityDetail({ entityConfig, data, isLoading, error, childData, childEntityNames, onEdit, onDelete, onChildAdd, onChildEdit, onChildDelete, onRefresh, enableActions, className, customFormComponents, customSections, }: EntityDetailProps): import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=EntityDetail.d.ts.map