import { ILayout, OptionsType } from '../../Types/Layout';
import { IRegion } from '../../Types/Region';
import { IMedia } from '../../Types/Media';
import { IRegionEvents } from "../../Types/Events";
import { IXlr } from '../../Types/XLR';
export default class Region implements IRegion {
    layout: ILayout;
    xml: Element | null;
    regionId: string;
    options: OptionsType;
    xlr: IXlr;
    complete: boolean;
    containerName: string;
    currMedia: IMedia | undefined;
    currEl: HTMLElement | null;
    currentMedia: number;
    currentMediaIndex: number;
    ended: boolean;
    ending: boolean;
    html: HTMLDivElement;
    id: string;
    index: number;
    mediaObjects: IMedia[];
    mediaObjectsActions: IMedia[];
    nxtMedia: IMedia | undefined;
    nxtEl: HTMLElement | null;
    offsetX: number;
    offsetY: number;
    oldMedia: IMedia | undefined;
    oneMedia: boolean;
    ready: boolean;
    sHeight: number;
    sWidth: number;
    totalMediaObjects: number;
    uniqueId: string;
    zIndex: number;
    emitter: import("nanoevents").Emitter<IRegionEvents>;
    constructor(layout: ILayout, xml: Element, regionId: string, options: OptionsType, xlr: IXlr);
    prepareRegion(): void;
    prepareMedia(media: IMedia): void;
    prepareFirstMedia(): void;
    prepareNextMedia(): void;
    prepareMediaObjects(): void;
    finished(): void;
    run(): void;
    transitionNodes(oldMedia: IMedia | undefined, newMedia: IMedia | undefined): void;
    playNextMedia(): void;
    playPreviousMedia(): void;
    end(): void;
    exitTransition(): void;
    exitTransitionComplete(): void;
    reset(): void;
    on<E extends keyof IRegionEvents>(event: E, callback: IRegionEvents[E]): import("nanoevents").Unsubscribe;
}
