import type { Appearance } from '../core/contract.js';
import type { AnimationId } from '../wire/room.js';
import type { CharacterAsset } from '../character/contract.js';
export type PreviewFocus = 'body' | 'head' | 'torso' | 'legs' | 'feet';
export declare function avatarPreview(container: HTMLElement): {
    show(appearance: Appearance): Promise<boolean>;
    wave(): void;
    playClip(asset: CharacterAsset, id: string, loop?: boolean): Promise<void>;
    animate(id: AnimationId): void;
    rotate(radians: number): void;
    focus: (view: PreviewFocus) => void;
    zoom: (factor: number) => void;
    dispose(): void;
};
