import { ClassReference } from "../../util"; import { GameObjectComponent, Transform } from "../../world"; import { GameObject } from "../../world/GameObject"; import { WorldModule } from './WorldModule'; export interface IQueryResult { get result(): TResult; } export declare class QueryUtils { static getPathSegments(pathString: string): string[]; static resolvePath(path: string, initialTransformList: Transform[], initialTransform: Transform | undefined): Transform; } export declare class WorldQuery { private world; constructor(world: WorldModule); path(pathString: string): GameObjectQuery; } export declare class GameObjectQuery implements IQueryResult { private gameObject; constructor(gameObject: GameObject); path(pathString: string): GameObjectQuery; component(componentCtor: ClassReference): GameObjectComponentQuery; get result(): GameObject; } export declare class GameObjectComponentQuery implements IQueryResult { private component; constructor(component: TGameObjectComponent); get result(): TGameObjectComponent; }