<commit_before>declare enum VNodeFlags {
	Text = 1,
	HtmlElement = 1 << 1,

	ComponentClass = 1 << 2,
	ComponentFunction = 1 << 3,
	ComponentUnknown = 1 << 4,

	HasKeyedChildren = 1 << 5,
	HasNonKeyedChildren = 1 << 6,

	SvgElement = 1 << 7,
	MediaElement = 1 << 8,
	InputElement = 1 << 9,
	TextareaElement = 1 << 10,
	SelectElement = 1 << 11,
	Void = 1 << 12,
	Element = HtmlElement | SvgElement | MediaElement | InputElement | TextareaElement | SelectElement,
	Component = ComponentFunction | ComponentClass | ComponentUnknown
}

type Key = string | number | null;
type Ref = Function | null;
type InfernoChildren = string | number | VNode | Array<string | VNode> | null;
type Type = string | Function | null;

interface Props {
	children?: InfernoChildren;
	ref?: Ref;
	key?: Key;
	events?: Object | null;
}

interface VNode {
	children: InfernoChildren;
	dom: Node | null;
	events: Object | null;
	flags: VNodeFlags;
	key: Key;
	props: Props | null;
	ref: Ref;
	type: Type;
	parentVNode?: VNode;
}

declare module 'inferno' {
	interface Options {
		recyclingEnabled: boolean;
		findDOMNodeEnabled: boolean;
		roots: any;
		createVNode: Function | null;
		beforeRender: Function | null;
		afterRender: Function | null;
		afterMount: Function | null;
		afterUpdate: Function | null;
		beforeUnmount: Function | null;
	}

	export function createVNode(flags, type?, props?, children?, events?, key?, ref?, noNormalise?: boolean): any;
	export function cloneVNode(node, props?, ...children);
	export function render(...rest);
	export function enableFindDOMNode();
	export function findDOMNode(node: any): any;
	export function createRenderer(...rest);
	export function linkEvent(data, event: Function);
	export const NO_OP;
	export const ERROR_MSG;
	export const EMPTY_OBJ;
	export const options: Options;

	export default {
		createVNode,
		cloneVNode,
		render,
		enableFindDOMNode,
		findDOMNode,
		createRenderer,
		linkEvent,
		NO_OP,
		ERROR_MSG,
		EMPTY_OBJ,
		options
	};
}

declare module 'inferno-component' {
	interface ComponentLifecycle<P, S> {
		componentDidMount?: () => void;
		componentWillMount?(): void;
		componentWillReceiveProps?(nextProps: P, nextContext: any): void;
		shouldComponentUpdate?(nextProps: P, nextState: S, nextContext: any): boolean;
		componentWillUpdate?(nextProps: P, nextState: S, nextContext: any): void;
		componentDidUpdate?(prevProps: P, prevState: S, prevContext: any): void;
		componentWillUnmount?(): void;
	}
	class Component<P, S> implements ComponentLifecycle<P, S>  {
		refs?: any;
		state?: S;
		props?: P;
		context?: any;
		_vNode;
		_unmounted?: boolean;
		constructor (props?: P, context?);
		componentWillReact();
		componentWillReceiveProps? (nextProps: P, nextContext: Object): void;
		componentWillUnmount();
		forceUpdate (): void;
		setState (v: Object, cb?: () => {}): boolean;
		setStateSync (v: Object): boolean;
		isPrototypeOf (v: Object): void;
	}
	export default Component;
}

declare module 'inferno-server' {
	export function renderToStaticMarkup(...rest);
	export default function renderToString(...rest);
}

declare module 'inferno-create-class' {
	export default function createClass(component: any): any;
}

declare module 'inferno-create-element' {
	export default function createElement(component: any, props: any, ...children): any;
}

declare module 'inferno-hyperscript' {
	export default function hyperscript(tag: any, props?: any, ...children): any;
}

declare module 'inferno-test-utils' {
	type stringArr = string | string[];

	export function renderIntoDocument(element: VNode): VNode;
	export function isElement(element: VNode): boolean;
	export function isElementOfType(inst: VNode, componentClass: Function): boolean;
	export function isDOMComponent(inst: any): boolean;
	export function isDOMComponentElement(inst: VNode): boolean;
	export function isCompositeComponent(inst): boolean;
	export function isCompositeComponentWithType(inst, type: Function): boolean;
	export function findAllInRenderedTree(inst: any, test: Function): VNode[];
	export function scryRenderedDOMComponentsWithClass(root: VNode, classNames: stringArr): VNode[];<commit_msg>inferno.d.ts: Fix 'inferno-server' types<commit_after>declare enum VNodeFlags {
	Text = 1,
	HtmlElement = 1 << 1,

	ComponentClass = 1 << 2,
	ComponentFunction = 1 << 3,
	ComponentUnknown = 1 << 4,

	HasKeyedChildren = 1 << 5,
	HasNonKeyedChildren = 1 << 6,

	SvgElement = 1 << 7,
	MediaElement = 1 << 8,
	InputElement = 1 << 9,
	TextareaElement = 1 << 10,
	SelectElement = 1 << 11,
	Void = 1 << 12,
	Element = HtmlElement | SvgElement | MediaElement | InputElement | TextareaElement | SelectElement,
	Component = ComponentFunction | ComponentClass | ComponentUnknown
}

type Key = string | number | null;
type Ref = Function | null;
type InfernoChildren = string | number | VNode | Array<string | VNode> | null;
type Type = string | Function | null;

interface Props {
	children?: InfernoChildren;
	ref?: Ref;
	key?: Key;
	events?: Object | null;
}

interface VNode {
	children: InfernoChildren;
	dom: Node | null;
	events: Object | null;
	flags: VNodeFlags;
	key: Key;
	props: Props | null;
	ref: Ref;
	type: Type;
	parentVNode?: VNode;
}

declare module 'inferno' {
	interface Options {
		recyclingEnabled: boolean;
		findDOMNodeEnabled: boolean;
		roots: any;
		createVNode: Function | null;
		beforeRender: Function | null;
		afterRender: Function | null;
		afterMount: Function | null;
		afterUpdate: Function | null;
		beforeUnmount: Function | null;
	}

	export function createVNode(flags, type?, props?, children?, events?, key?, ref?, noNormalise?: boolean): any;
	export function cloneVNode(node, props?, ...children);
	export function render(...rest);
	export function enableFindDOMNode();
	export function findDOMNode(node: any): any;
	export function createRenderer(...rest);
	export function linkEvent(data, event: Function);
	export const NO_OP;
	export const ERROR_MSG;
	export const EMPTY_OBJ;
	export const options: Options;

	export default {
		createVNode,
		cloneVNode,
		render,
		enableFindDOMNode,
		findDOMNode,
		createRenderer,
		linkEvent,
		NO_OP,
		ERROR_MSG,
		EMPTY_OBJ,
		options
	};
}

declare module 'inferno-component' {
	interface ComponentLifecycle<P, S> {
		componentDidMount?: () => void;
		componentWillMount?(): void;
		componentWillReceiveProps?(nextProps: P, nextContext: any): void;
		shouldComponentUpdate?(nextProps: P, nextState: S, nextContext: any): boolean;
		componentWillUpdate?(nextProps: P, nextState: S, nextContext: any): void;
		componentDidUpdate?(prevProps: P, prevState: S, prevContext: any): void;
		componentWillUnmount?(): void;
	}
	class Component<P, S> implements ComponentLifecycle<P, S>  {
		refs?: any;
		state?: S;
		props?: P;
		context?: any;
		_vNode;
		_unmounted?: boolean;
		constructor (props?: P, context?);
		componentWillReact();
		componentWillReceiveProps? (nextProps: P, nextContext: Object): void;
		componentWillUnmount();
		forceUpdate (): void;
		setState (v: Object, cb?: () => {}): boolean;
		setStateSync (v: Object): boolean;
		isPrototypeOf (v: Object): void;
	}
	export default Component;
}

declare module 'inferno-server' {
	export function renderToString(...rest);
 	export function renderToStaticMarkup(...rest);

	export default {
		renderToString(...rest),
		renderToStaticMarkup(...rest),
	}
}

declare module 'inferno-create-class' {
	export default function createClass(component: any): any;
}

declare module 'inferno-create-element' {
	export default function createElement(component: any, props: any, ...children): any;
}

declare module 'inferno-hyperscript' {
	export default function hyperscript(tag: any, props?: any, ...children): any;
}

declare module 'inferno-test-utils' {
	type stringArr = string | string[];

	export function renderIntoDocument(element: VNode): VNode;
	export function isElement(element: VNode): boolean;
	export function isElementOfType(inst: VNode, componentClass: Function): boolean;
	export function isDOMComponent(inst: any): boolean;
	export function isDOMComponentElement(inst: VNode): boolean;
	export function isCompositeComponent(inst): boolean;
	export function isCompositeComponentWithType(inst, type: Function): boolean;
	export function findAllInRenderedTree(inst: any, test: Function): VNode[];
	export function scryRenderedDOMComponentsWithClass(root: VNode, classNames: stringArr): VNode[];
{'fraction_non_alphanumeric': 0.11957040572792363, 'fraction_numerical': 0.006682577565632458, 'mean_word_length': 5.144428152492669, 'pattern_counts': {'":': 0, '<': 59, '<?xml version=': 0, '>': 15, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5767070', 'n_tokens_mistral': 2779, 'n_tokens_neox': 2600, 'n_words': 775}