import PauseTickerType from '../../types/PauseTickerType.js';
import CanvasBaseItemMemory from '../canvas/memory/CanvasBaseItemMemory.js';
import ContainerMemory from '../canvas/memory/ContainerMemory.js';
import { TickerHistoryForExport } from '../TickerHistory.js';
import TickersSequence from '../TickersSequence.js';
import 'pixi.js';
import '../../types/ContainerChild.js';
import '../../classes/canvas/CanvasBaseItem.js';
import '../../types/TickerIdType.js';
import '../TickerArgs.js';
import '../../types/PauseType.js';
import '../../types/RepeatType.js';

/**
 * Interface exported canvas
 */
interface ExportedCanvas {
    tickers: {
        [id: string]: TickerHistoryForExport<any>;
    };
    tickersSteps: {
        [alias: string]: {
            [tickerId: string]: TickersSequence;
        };
    };
    elements: {
        [alias: string]: CanvasBaseItemMemory;
    };
    stage: Partial<ContainerMemory>;
    elementAliasesOrder: string[];
    tickersOnPause: {
        [alias: string]: PauseTickerType;
    };
    tickersToCompleteOnStepEnd: {
        tikersIds: {
            id: string;
        }[];
        stepAlias: {
            id: string;
            alias: string;
        }[];
    };
}

export type { ExportedCanvas as default };
