/****************************************************************************
 * Copyright 2021 EPAM Systems
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ***************************************************************************/
import { Box2Abs } from "../../../domain/entities/box2Abs";
import { Vec2 } from "../../../domain/entities/vec2";
export interface RaphaelPath {
    translateAbs(x: number, y: number): void;
    rotate(degree: number, cx: number, cy: number): void;
    insertBefore(element: unknown): void;
    remove(): void;
    next?: RaphaelPath;
    [key: string]: unknown;
}
declare class Visel {
    type: string;
    paths: RaphaelPath[];
    boxes: Box2Abs[];
    boundingBox: Box2Abs | null;
    oldBoundingBox: Box2Abs | null;
    exts: Box2Abs[];
    constructor(type: string);
    add(path: RaphaelPath, bb?: Box2Abs | null, ext?: Box2Abs | null): void;
    clear(): void;
    translate(vector: Vec2): void;
    translate(x: number, y: number): void;
    rotate(degree: number, center: Vec2): void;
}
export default Visel;
