import type { InferActivityParams, RegisteredActivityName } from "@stackflow/config"; import type { ComponentType, ReactNode } from "react"; export declare const STRUCTURED_ACTIVITY_COMPONENT_TYPE: unique symbol; export interface StructuredActivityComponentType
{ [STRUCTURED_ACTIVITY_COMPONENT_TYPE]: true; content: Content
| (() => Promise<{ default: Content
; }>); layout?: Layout
; loading?: Loading
; errorHandler?: ErrorHandler
;
}
export declare function structuredActivityComponent {
component: ComponentType<{
params: P;
}>;
}
export declare function content {
component: ComponentType<{
params: P;
children: ReactNode;
}>;
}
export declare function layout {
component: ComponentType<{
params: P;
}>;
}
export declare function loading {
component: ComponentType<{
params: P;
error: unknown;
reset: () => void;
}>;
boundary?: CustomErrorBoundary;
}
export type CustomErrorBoundary = ComponentType<{
children: ReactNode;
renderFallback: (error: unknown, reset: () => void) => ReactNode;
}>;
export declare function errorHandler