import { IComponentData } from "../API";
import { vec3 } from "../Math/Vector";
import { No_API } from "../No_API";
import { Transformation } from "../Math/MathTypes";
import { Transform, Scene, AttachPoint } from "../IGXC";
import { ProcessIGXCChanges } from "../Loader";
export declare type DemoSceneArticle = {
    position?: vec3;
    size?: vec3;
    data?: IComponentData;
    scale?: vec3;
    rotation?: vec3;
    selectionMode?: "None" | "Parent" | "Self";
    children?: DemoSceneArticle[];
    transform?: Transform;
    material?: string;
    materialCategory?: string;
    geometry?: string;
    geometryParameters?: Record<string, any>;
    comId?: string;
};
export declare type DemoScene = {
    articles: DemoSceneArticle[];
};
export declare type ArticleInstance = {
    comId?: string;
    componentId: string;
    position: vec3;
    size: vec3;
    scale: vec3;
    rotation: vec3;
    visible: boolean;
    data: IComponentData;
    selectionMode: "None" | "Parent" | "Self";
    parentId: string | undefined;
    children: ArticleInstance[];
    transform?: Transform;
    material?: string;
    materialCategory?: string;
    geometry?: string;
    geometryParameters?: Record<string, any>;
    PlatformUsage?: string;
};
export declare class TestApi extends No_API {
    RegionManager: any;
    private components;
    private roots;
    private rootIndex;
    private objectLoader;
    constructor(demoScene?: DemoScene);
    GetRoots(): string[];
    CreateSuperRoot(): string;
    ProcessIGXC(superRoot: string, igxc: Scene, igxcBasePath: string): Promise<ProcessIGXCChanges>;
    SetPosition(componentId: string, position: vec3): void;
    GetPosition(componentId: string): vec3;
    GetBounds(componentId: string, context?: "Local" | "World" | "WorldFastButNotPrecise", considerScaleForLocalContext?: boolean): {
        min: {
            x: number;
            y: number;
            z: number;
        };
        max: {
            x: number;
            y: number;
            z: number;
        };
    };
    SetScaling(componentId: string, scale: vec3): void;
    GetScaling(componentId: string): vec3;
    SetTransformation(componentId: string, transformation: Transformation): void;
    GetComponent(componentId: string): ArticleInstance | null;
    GetComponentData(componentId: string): IComponentData;
    SetComponentData(componentId: string, key: string, value: any): void;
    SetVisibility(componentId: string, visible: boolean): void;
    GetVisibility(componentId: string): boolean;
    SetCommercialId(componentId: string, comId: string): string;
    GetCommercialId(componentId: string): string;
    SetHash(componentId: string, hash: string): void;
    GetHash(componentId: string): string;
    SetCategories(componentId: string, categories: string[]): void;
    GetCategories(componentId: string): readonly string[];
    GetPoints(componentId: string): never[];
    GetIGXCPoints(componentId: string): never[];
    SetIGXCPoints(componentId: string, attachPoints: AttachPoint[]): void;
    SetSelectionMode(componentId: string, selectionMode: ArticleInstance["selectionMode"]): void;
    GetSelectionMode(componentId: string): import("../IGXC").Selectable;
    GetAllSelectedComponents(): never[];
    GetXRotation(componentId: string): number;
    GetYRotation(componentId: string): number;
    GetZRotation(componentId: string): number;
    GetGeometry(componentId: string): string;
    GetLayer(componentId: string): never;
    GetMaterial(componentId: string): string;
    GetInteractor(componentId: string): never;
    GetChildren(componentId: string): string[];
    GetMaterialCategory(componentId: string): string;
    GetEvaluator(componentId: string): never;
    private buildScene;
    private buildArticle;
}
