import { Orientation } from '../redux/frame';
/**
 * Frame is the "decoration" around the embedded iframe.
 */
export declare type Frame = 'none' | 'phone';
/**
 * IBlock is a block on the screen. The "controls" block is where the controls
 * are displayed, the other types are inactive. Positions/sizes are given
 * in pixels. "Video" defines where the video is by default, but it can be
 * moved around.
 */
export interface IBlock {
    width: number;
    height: number;
    x: number;
    y: number;
    type: 'controls' | 'chat' | 'video';
}
/**
 * IDevice describes a device preset in the editor.
 */
export interface IDevice {
    /**
     * Decorative frame for the device.
     */
    readonly frame: Frame;
    /**
     * Returns whether the device can be rotated.
     */
    readonly isMobile: boolean;
    /**
     * Friendly name displayed to users.
     */
    readonly displayName: string;
    /**
     * Display returns blocks for the device.
     */
    display(availableWidth: number, availableHeight: number, orientation: Orientation): IBlock[];
}
export declare const devices: ReadonlyArray<IDevice>;
