import { type LayoutCallbackReturn, PageHandler, SharedPageProps } from '@inertiajs/core';
import { ComponentType, ReactNode } from 'react';
export type LayoutFunction = (page: ReactNode) => ReactNode;
export type LayoutCallback = (props: SharedPageProps) => LayoutCallbackReturn<ComponentType<any>>;
export type LayoutComponent = ComponentType<{
    children: ReactNode;
}>;
export type ReactComponent = ComponentType<any> & {
    layout?: LayoutComponent | LayoutComponent[] | LayoutFunction | ((props: any) => any);
};
export type ReactPageHandlerArgs = Parameters<PageHandler<ComponentType>>[0];
export type ReactInertiaAppConfig = {
    strictMode?: boolean;
};
