export class Transform2GridPositionSystem extends System<any, any, any, any, any> {
    constructor();
    dependencies: (typeof Transform | typeof GridPosition | typeof Transform2GridPosition)[];
    components_used: ResourceAccessSpecification<typeof GridPosition>[];
    /**
     *
     * @type {Synchronizer[]}
     */
    data: Synchronizer[];
    /**
     *
     * @param {Transform2GridPosition} component
     * @param {Transform} transform
     * @param {GridPosition} gp
     * @param {number} entity
     */
    link(component: Transform2GridPosition, transform: Transform, gp: GridPosition, entity: number): void;
    /**
     *
     * @param {Transform2GridPosition} component
     * @param {Transform} transform
     * @param {GridPosition} gp
     * @param {number} entity
     */
    unlink(component: Transform2GridPosition, transform: Transform, gp: GridPosition, entity: number): void;
}
import { System } from "../../ecs/System.js";
import { Transform } from "../../ecs/transform/Transform.js";
import GridPosition from "../position/GridPosition.js";
import { Transform2GridPosition } from "./Transform2GridPosition.js";
import { ResourceAccessSpecification } from "../../../core/model/ResourceAccessSpecification.js";
declare class Synchronizer {
    /**
     *
     * @type {Transform}
     */
    transform: Transform;
    /**
     *
     * @type {GridPosition}
     */
    position: GridPosition;
    /**
     *
     * @type {Transform2GridPosition}
     */
    component: Transform2GridPosition;
    /**
     *
     * @type {EntityComponentDataset}
     */
    ecd: EntityComponentDataset;
    write(): void;
    link(): void;
    unlink(): void;
}
export {};
//# sourceMappingURL=Transform2GridPositionSystem.d.ts.map