import { EventManager } from './event/event.js'; import { EventData } from './event/types.js'; import { EngineHelper } from './logic/helper/index.js'; declare class Logic extends EngineHelper implements LogicBase { private subject; constructor(subject: T); static getInstance(subject: EventManager): Logic; private whiteList; EDIT_SOURCE_CHANGED(data: EventData): Promise; EDIT_STYLE(data: EventData): Promise; EDIT_CROP(data: EventData): Promise; EDIT_TRANSFORM(data: EventData): Promise; TRACK_ADD_CHANGED(data: EventData): Promise; TRACK_DELETE_CHANGED(data: EventData): Promise; TRACK_MUTE(data: EventData): Promise; TRACK_VOLUME(data: EventData): Promise; LAYER_ADD_CHANGED(data: EventData): Promise; LAYER_DELETE_CHANGED(data: EventData): Promise; LAYER_MOVE_CHANGED(data: EventData): Promise; LAYER_SPLIT_CHANGED(data: EventData): Promise; LAYER_TRIM_CHANGED(data: EventData): Promise; EDIT_MUTE(data: EventData): Promise; EDIT_VOLUME(data: EventData): Promise; EDIT_SPEED_CHANGED(data: EventData): Promise; EDIT_TRANSITION(data: EventData): Promise; STAGE_INIT(data: EventData): Promise; STAGE_PLAY(): Promise; STAGE_PAUSE(): Promise; STAGE_SEEKTO(data: EventData): Promise; STAGE_RESIZE(data: EventData): Promise; HISTORY_UNDO(data: EventData): Promise; HISTORY_REDO(data: EventData): Promise; private subscribe; private run; } declare abstract class LogicBase { abstract TRACK_ADD_CHANGED: (data: T) => void; abstract TRACK_DELETE_CHANGED: (data: T) => void; abstract TRACK_VOLUME: (data: T) => void; abstract TRACK_MUTE: (data: T) => void; abstract EDIT_VOLUME: (data: T) => void; abstract EDIT_MUTE: (data: T) => void; abstract EDIT_SPEED_CHANGED: (data: T) => void; abstract EDIT_TRANSITION: (data: T) => void; abstract LAYER_ADD_CHANGED: (data: T) => void; abstract LAYER_DELETE_CHANGED: (data: T) => void; abstract LAYER_MOVE_CHANGED: (data: T) => void; abstract LAYER_SPLIT_CHANGED: (data: T) => void; abstract LAYER_TRIM_CHANGED: (data: T) => void; abstract STAGE_INIT: (data: T) => void; abstract STAGE_RESIZE: (data: T) => void; } export { Logic };