import ArenaRoot from './ArenaRoot';
import ArenaSingle from './ArenaSingle';
import ArenaText from './ArenaText';
import ArenaInline from './ArenaInline';
import ArenaMediator from './ArenaMediator';
export default class ArenaFactory {
    static createRoot(arenaOptions) {
        return new ArenaRoot(arenaOptions);
    }
    static createChild(arenaOptions) {
        if ('allowedArenas' in arenaOptions
            || 'protectedChildren' in arenaOptions) {
            return new ArenaMediator(arenaOptions);
        }
        if (arenaOptions.single) {
            return new ArenaSingle(arenaOptions);
        }
        if (arenaOptions.inline) {
            return new ArenaInline(arenaOptions);
        }
        if (arenaOptions.hasText) {
            return new ArenaText(arenaOptions);
        }
        throw new Error('Cant create Arena');
    }
}
//# sourceMappingURL=ArenaFactory.js.map