import WorkspaceElement from './WorkspaceElement';
import GroupPeer from './peer/svg/GroupPeer';
import SizeType from './SizeType';
import StyleAttributes from './StyleAttributes';
import PositionType from './PositionType';
/**
 * A group object can be used to collect shapes.
 */
declare class Group extends WorkspaceElement<GroupPeer> {
    constructor(attributes?: StyleAttributes);
    /**
     * Remove an element as a child to the object.
     */
    removeChild(element: WorkspaceElement<any>): void;
    /**
     * Appends an element as a child to the object.
     */
    append(element: WorkspaceElement<any>): void;
    getType(): string;
    /**
     * The group element is a containing blocks for this content
     * - they define a CSS2 "block level box".
     * Inside the containing block a local coordinate system is
     * defined for any sub-elements using the coordsize and coordorigin attributes.
     * All CSS2 positioning information is expressed in terms of this local coordinate space.
     * Consequently CSS2 position attributes (left, top, width, height and so on)
     * have no unit specifier -
     * they are simple numbers, not CSS length quantities.
     */
    setCoordSize(width: number, height: number): void;
    setCoordOrigin(x: number, y: number): void;
    getCoordOrigin(): PositionType;
    getSize(): SizeType;
    setFill(): void;
    setStroke(): void;
    getCoordSize(): SizeType;
    appendDomChild(DomElement: any): void;
    setOpacity(value: number): void;
    getPosition(): PositionType;
    setPosition(x: number, y: number): void;
}
export default Group;
