import { ReactNode, RefObject } from 'react';
export type VuerProps
= P & {
/** @dial-ignore **/
_key?: string;
/** @dial-ignore **/
_ref?: RefObject[;
/** @dial-ignore **/
name?: string;
/** @dial-ignore **/
children?: ReactNode | undefined;
};
export declare const ChildrenKey = "children";
export type Partial = {
[P in K]?: T;
};
export interface Node extends Partial {
key?: string;
tag: string;
hide?: boolean;
locked?: boolean;
disabledFields?: string[];
children?: Node[] | string[] | null;
[key: string]: Node | string | unknown;
}
export type OptionalNodeFields = {
[K in keyof Node]?: Node[K];
};
/**
* When the node is updated, the key is used to identify the node.
* This is useful when the node is updated in the scene graph.
**/
export interface UpdateNodeType extends OptionalNodeFields {
key: string;
}
export type SceneChildrenKeyT = typeof ChildrenKey | 'bgChildren' | 'rawChildren' | 'htmlChildren';
export declare const ALL_SCENE_KEYS: SceneChildrenKeyT[];
export type SceneNode = Node & {
[key in SceneChildrenKeyT]: Node[];
};
export type Matrix16T = [
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number,
number
];
export type QuaternionT = [number, number, number, number];
export interface EventType {
/** This is the timestamp of the event object. **/
ts: number;
etype: string;
}
export interface ClientEvent> extends EventType {
key?: string;
value?: T;
/** If true, the event will not be sent to the server. **/
silent?: boolean;
}
export interface ServerEvent> extends EventType {
data: T;
}
export interface ServerRPC extends ServerEvent {
uuid: string;
rtype: string;
}
]