import { ModelComponent } from "./ModelComponent";
import { Surface } from "./Surface";
import { MockupContainer } from "./Container";
import { Collection } from "../Collection";
import * as Enumerable from "linq/linq";
export declare class SurfaceMockup extends ModelComponent {
    parentSurface: Surface;
    private _underContainers;
    private _overContainers;
    constructor(downContainers?: MockupContainer[], upContainers?: MockupContainer[]);
    isEmpty(): boolean;
    get underContainers(): Collection<MockupContainer>;
    get overContainers(): Collection<MockupContainer>;
    get allContainers(): Enumerable.IEnumerable<MockupContainer>;
    getSimplifiedObject(): Object;
    clone(generateNewIds?: boolean): SurfaceMockup;
    generateNewIds(): void;
    protected _copy(source: SurfaceMockup, destination: SurfaceMockup, generateNewIds: boolean): void;
    private _onContainerAdded;
}
