import { Component, ComponentNature, RealObject } from '@hatiolab/things-scene'; import type { State } from '@hatiolab/things-scene'; import { type Alignment, type CarrierAttachPoint, type MoveOptions, type PlacementArchetype } from '@operato/scene-base'; /** Vehicle 컴포넌트 state */ export interface VehicleState extends State { platformColor?: string; } export declare class Vehicle3D extends RealObject { build(): void; } declare const VehicleBase: typeof Component & { new (...args: any[]): Component & { isMover: boolean; attachPointFor(carrier: Component): CarrierAttachPoint | undefined; pick(carrier: Component, options?: MoveOptions): Promise; place(carrier: Component, holder: Component, options?: MoveOptions): Promise; pickAndPlace(carrier: Component, holder: Component, options?: MoveOptions): Promise; }; }; export declare class Vehicle extends VehicleBase { get state(): VehicleState; static placement: PlacementArchetype; static align: Alignment; static defaultDepth: number; static yawOffset: number; buildRealObject(): RealObject | undefined; get nature(): ComponentNature; /** * Cargo lands on the top platform — at the deck surface (=top of envelope). * Multiple cargo items stack vertically by their own depth (slot index). */ attachPointFor(carrier: Component): CarrierAttachPoint | undefined; render(ctx: CanvasRenderingContext2D): void; } export {};