export type JSX_Member = {
    name: string;
    id?: string;
    type?: string;
    value?: any;
    idOnly?: true;
    readOnly?: true;
    isRaw?: true;
};
export type JSX_Member_Element = {
    [key: string]: {
        ID: string;
        Data: any;
    } | string | any;
};
export type JSX_Component = {
    children: JSX_Member_Element[];
};
export type JSX_Components = {
    children: JSX_Component[] | undefined;
};
export type JSX_SlotData = {
    children: JSX_Member_Element;
};
export type JSX_Slot = {
    children: [JSX_SlotData, JSX_Components];
};
export type JSX_Children = {
    children: JSX_Slot[] | undefined;
};
export type JSX_Raw = {
    json: any;
};
export type JSX_IdSpace = {
    children: {} | JSX.Element | JSX.Element[];
};
export type JSX_Id = {
    key?: string;
};
declare global {
    export namespace JSX {
        type Element = any;
        interface ElementChildrenAttribute {
            children: any;
        }
        type IntrinsicElements = {
            slot: any;
            slotData: {
                children: JSX_Member_Element | Array<JSX_Member_Element>;
            };
            components: any;
            component: any;
            children: any;
            assets: any;
            member: JSX_Member;
            raw: JSX_Raw;
            idSpace: JSX_IdSpace;
            id: JSX_Id;
            common: any;
        };
    }
}
type Props = {
    children: JSX.IntrinsicElements | JSX.IntrinsicElements[];
};
declare function jsx(statement: string | any, rawProps: any, ...a: any[]): any;
declare function Fragment(props: Props): JSX.IntrinsicElements | JSX.IntrinsicElements[];
declare class Component<P = {}> {
    element: null;
    readonly props: P;
    constructor(props: P);
    render(): JSX.IntrinsicElements[] | null;
}
export { jsx, jsx as jsxs, Fragment, Component };
