import { Infer } from '../types.js';
import XVType from '../XVType.js';
/**
* Function component type (sync + async)
*/
type FuncComponent
= Async extends true ? (props: P) => Promise : (props: P) => any;
/**
* Convert schema props → runtime props
*/
type InferProps>> = {
[K in keyof P]: Infer
;
};
declare class XVFunctionComponent
>, Async extends boolean = false> extends XVType, Async>> {
readonly props: P;
readonly is_async: Async;
constructor(props: P, async?: Async);
protected check(value: unknown): any;
parse(fn: unknown): FuncComponent, Async> | null | undefined;
}
export { XVFunctionComponent as default };