import type { ComponentConfig } from '../types';
/**
 * Base props shared by all specialized components.
 * Each specialized component receives these props from the {@link SpecializedComponent} wrapper.
 * @param id The entity ID associated with this workflow task
 * @param onComplete callback when the component's data collection is completed
 * @param onClose callback for handling close action
 */
export interface SpecializedComponentBaseProps {
    onComplete: () => void;
    onClose: () => void;
    props?: ComponentConfig['props'];
}
/**
 * Props for the {@link SpecializedComponent} wrapper, combining the component
 * configuration from the AWE manifest with the specialized component base props.
 */
export interface SpecializedComponentProps extends ComponentConfig, SpecializedComponentBaseProps {
}
/**
 * A dynamic component resolver for the Adaptive Workflow Engine (AWE).
 *
 * Specialized components are self-contained units that handle their own field rendering,
 * multi-step forms (if applicable), and data submission. They are looked up from the
 * {@link specializedComponentMap} registry using the `componentName` provided by the AWE manifest.
 *
 * @param componentName - name used to resolve the component from the registry
 * @param onComplete - Forwarded to the resolved component; called when its flow finishes
 * @param onClose - Forwarded to the resolved component; called to dismiss the modal
 * @param props - props returned from AWE
 * @returns The matched specialized component, or an error end-state if the component
 *          is not found in the registry or the `id` is missing
 */
export declare const SpecializedComponent: ({ componentName, onComplete, onClose, props, }: SpecializedComponentProps) => import("preact/jsx-runtime").JSX.Element;
