// @strict: true // @jsx: react // @lib: es6 // @skipLibCheck: true /// import * as React from "react"; interface ErrorResult { error: true } interface AsyncLoaderProps { readonly prop1: () => Promise; readonly prop2: (result: Exclude) => any; } class AsyncLoader extends React.Component> { render() { return null; } } async function load(): Promise<{ success: true } | ErrorResult> { return { success: true }; } const loader = result} />;