import { default as Matter } from 'matter-js';
import { Container, Rectangle } from 'pixi.js';
import { IMatterPhysicsObject } from './interfaces';
import { MatterPhysicsPluginOptions } from './MatterPhysicsPlugin';
import { MatterBodyLike } from './types';
export declare class System {
    static pluginOptions: Partial<MatterPhysicsPluginOptions>;
    static container: Container;
    private static _options;
    private static _objects;
    private static _debugGraphics;
    private static _walls;
    private static _debug;
    private static _ceiling;
    private static _floor;
    private static _leftWall;
    private static _rightWall;
    static get ceiling(): Matter.Body;
    static get floor(): Matter.Body;
    static get leftWall(): Matter.Body;
    static get rightWall(): Matter.Body;
    static get walls(): Matter.Body[];
    static get debug(): boolean;
    static set debug(value: boolean);
    private static _enabled;
    static get enabled(): boolean;
    static set enabled(value: boolean);
    private static _runner;
    static get world(): typeof Matter.World;
    static get api(): {
        axes: typeof Matter.Axes;
        bodies: typeof Matter.Bodies;
        body: typeof Matter.Body;
        common: typeof Matter.Common;
        composite: typeof Matter.Composite;
        composites: typeof Matter.Composites;
        constraint: typeof Matter.Constraint;
        contact: typeof Matter.Contact;
        engine: typeof Matter.Engine;
        events: typeof Matter.Events;
        runner: typeof Matter.Runner;
        sleeping: typeof Matter.Sleeping;
        vector: typeof Matter.Vector;
        vertices: typeof Matter.Vertices;
        world: typeof Matter.World;
    };
    static get runner(): Matter.Runner;
    private static _engine;
    static get engine(): Matter.Engine;
    private static _bounds;
    static get bounds(): Rectangle;
    static set bounds(bounds: Rectangle);
    private static get app();
    static destroy(): void;
    static initialize(options: Partial<MatterPhysicsPluginOptions>): void;
    static addToWorld(...objects: (IMatterPhysicsObject | MatterBodyLike)[]): void;
    static removeFromWorld(...objects: (IMatterPhysicsObject | MatterBodyLike)[]): void;
    static drawDebug(): void;
    private static update;
}
//# sourceMappingURL=System.d.ts.map