///
import { Constructor } from '../types';
interface ConsumerProps {
children: (data: T) => JSX.Element;
name?: string;
ctor?: Constructor;
allowUndef?: boolean;
}
interface NamedConsumerProps extends ConsumerProps {
name: string;
ctor?: undefined;
}
interface NamedConsumerAllowUndefProps extends NamedConsumerProps {
allowUndef: true;
}
interface NamedConsumerDisAllowUndefProps extends NamedConsumerProps {
allowUndef?: false;
}
interface CtorConsumerProps extends ConsumerProps {
ctor: Constructor;
}
interface CtorConsumerAllowUndefProps extends CtorConsumerProps {
allowUndef: true;
}
interface CtorConsumerDisAllowUndefProps extends CtorConsumerProps {
allowUndef?: false;
}
interface StringConsumerProps extends ConsumerProps {
ctor: StringConstructor;
}
interface StringConsumerAllowUndefProps extends StringConsumerProps {
allowUndef: true;
}
interface StringConsumerDisAllowUndefProps extends StringConsumerProps {
allowUndef?: false;
}
interface BooleanConsumerProps extends ConsumerProps {
ctor: BooleanConstructor;
}
interface BooleanConsumerAllowUndefProps extends BooleanConsumerProps {
allowUndef: true;
}
interface BooleanConsumerDisAllowUndefProps extends BooleanConsumerProps {
allowUndef?: false;
}
interface NumberConsumerProps extends ConsumerProps {
ctor: NumberConstructor;
}
interface NumberConsumerAllowUndefProps extends NumberConsumerProps {
allowUndef: true;
}
interface NumberConsumerDisAllowUndefProps extends NumberConsumerProps {
allowUndef?: false;
}
declare function Consumer(props: NumberConsumerAllowUndefProps): JSX.Element;
declare function Consumer(props: NumberConsumerDisAllowUndefProps): JSX.Element;
declare function Consumer(props: BooleanConsumerAllowUndefProps): JSX.Element;
declare function Consumer(props: BooleanConsumerDisAllowUndefProps): JSX.Element;
declare function Consumer(props: StringConsumerAllowUndefProps): JSX.Element;
declare function Consumer(props: StringConsumerDisAllowUndefProps): JSX.Element;
declare function Consumer(props: CtorConsumerAllowUndefProps): JSX.Element;
declare function Consumer(props: CtorConsumerDisAllowUndefProps): JSX.Element;
declare function Consumer(props: NamedConsumerAllowUndefProps): JSX.Element;
declare function Consumer(props: NamedConsumerDisAllowUndefProps): JSX.Element;
export { Consumer };
export type { NumberConsumerAllowUndefProps, NumberConsumerDisAllowUndefProps, BooleanConsumerAllowUndefProps, BooleanConsumerDisAllowUndefProps, StringConsumerAllowUndefProps, StringConsumerDisAllowUndefProps, CtorConsumerAllowUndefProps, CtorConsumerDisAllowUndefProps, NamedConsumerDisAllowUndefProps, NamedConsumerAllowUndefProps, };