import { Container, Sprite, Text } from 'pixi.js';
import CanvasBaseItemMemory from '../../interface/canvas/memory/CanvasBaseItemMemory.js';
import ContainerMemory from '../../interface/canvas/memory/ContainerMemory.js';
import SpriteMemory from '../../interface/canvas/memory/SpriteMemory.js';
import TextMemory from '../../interface/canvas/memory/TextMemory.js';
import '../../types/ContainerChild.js';
import '../../classes/canvas/CanvasBaseItem.js';
import '../../types/EventIdType.js';
import '../../interface/canvas/TextureMemory.js';

/**
 * Export a Canvas element to a memory object
 * @param canvasComponent Canvas element
 * @returns Memory object of the canvas
 */
declare function exportCanvasElement<T extends Container>(canvasComponent: T): CanvasBaseItemMemory;
declare function getMemoryContainer<T extends Container>(element: T, options?: {
    childrenExport?: boolean;
}): ContainerMemory;
declare function getMemorySprite<T extends Sprite>(element: T | Sprite): SpriteMemory;
declare function getMemoryText<T extends Text>(element: T | Text): TextMemory;

export { exportCanvasElement, getMemoryContainer, getMemorySprite, getMemoryText };
