import type { ISerializedTile } from './ISerializedTile';
/**
 * Handles serialization and deserialization of tile layouts.
 *
 * @public
 */
export declare class TileManagerSerializer {
    /**
     * Saves the current layout of tiles.
     *
     * @param tiles - The tiles to save.
     * @returns An array of serialized tile states.
     *
     * @public
     */
    save(tiles: Array<ITileElementShape>): Array<ISerializedTile>;
    /**
     * Saves the current layout as a JSON string.
     *
     * @param tiles - The tiles to save.
     * @returns A JSON string representing the layout.
     *
     * @public
     */
    saveAsJSON(tiles: Array<ITileElementShape>): string;
    /**
     * Loads a previously saved layout.
     *
     * @param tiles - The tiles to apply the layout to.
     * @param layout - The serialized layout to load.
     *
     * @public
     */
    load(tiles: Array<ITileElementShape>, layout: Array<ISerializedTile>): void;
    /**
     * Loads a layout from a JSON string.
     *
     * @param tiles - The tiles to apply the layout to.
     * @param json - The JSON string representing the layout.
     *
     * @public
     */
    loadFromJSON(tiles: Array<ITileElementShape>, json: string): void;
}
//# sourceMappingURL=TileManagerSerializer.d.ts.map