import { AnimationClip } from "@aura3d/animation";
import { Scene } from "@aura3d/scene";
import type { AssetLoadRequest, AssetLoader } from "./AssetLoader";
import type { LoadContext } from "./LoadContext";
export interface NativeSceneNodeDescriptor {
    readonly name?: string;
    readonly translation?: readonly [number, number, number];
    readonly rotation?: readonly [number, number, number, number];
    readonly scale?: readonly [number, number, number];
    readonly renderable?: {
        readonly geometry: string;
        readonly material: string;
        readonly morphWeights?: readonly number[];
    };
    readonly children?: readonly NativeSceneNodeDescriptor[];
}
export interface NativeSceneAsset {
    readonly url: string;
    readonly scene: Scene;
    readonly animations: readonly AnimationClip[];
}
export declare class SceneLoader implements AssetLoader<NativeSceneAsset> {
    readonly type = "scene";
    canLoad(request: AssetLoadRequest): boolean;
    load(request: AssetLoadRequest, context: LoadContext): Promise<NativeSceneAsset>;
}
//# sourceMappingURL=SceneLoader.d.ts.map