/* eslint-disable no-multiple-empty-lines */
/* eslint-disable no-trailing-spaces */
declare namespace jsb {
    // type Node = any;
    type Event               = any;
    type NodeEventProcessor  = any;
    type Mat4                = any;
    type Mat3                = any;
    type Vec2                = any;
    type Vec3                = any;
    type Vec4                = any;
    type Quaternion          = any;
    type Rect                = any;
    type Color               = any;
    type NativeDep           = any;
    type Renderer            = any;
    type ModelRenderer       = any;
    type ResizableBuffer     = any;
    type Size                = any;
    type DataPoolManager     = any;
    type IProgramInfo        = any;
    type ReflectionComp      = any;
    type SAXDelegator        = any;
    type Data                = any;
    type NodeUiProperties    = any;
    type CallbacksInvoker    = any;

    type AnyFunction = any;

    type Component = any; // should be export latter
}

// namespace cc {
//     type Component = any;
// }

declare namespace ns {
    type RenderWindow            = any;
    type InstancedAttributeBlock = any;
}
declare namespace nr {
    type InstancedAttributeBlock = any;
    type PipelineSceneData       = any;
    type PipelineUBO             = any;
    type RenderElem              = any;
    type RenderQueue             = any;
    type UIPhase                 = any;
}
