import { Container } from "./Container";
import { IDimension } from "./Interfaces/IDimension";
import { IRgb } from "./Interfaces/Colors";
import { ICoordinates } from "./Interfaces/ICoordinates";
import { IParticle } from "./Interfaces/IParticle";
import { IContainerPlugin } from "./Interfaces/IContainerPlugin";
import { ILink } from "./Interfaces/ILink";
import { Particle } from "./Particle";
import { IDelta } from "./Interfaces/IDelta";
export declare class Canvas {
    private readonly container;
    element?: HTMLCanvasElement;
    readonly size: IDimension;
    resizeFactor?: IDimension;
    private context;
    private generatedCanvas;
    private coverColor?;
    private trailFillColor?;
    private originalStyle?;
    constructor(container: Container);
    init(): void;
    loadCanvas(canvas: HTMLCanvasElement, generatedCanvas?: boolean): void;
    destroy(): void;
    paint(): void;
    clear(): void;
    windowResize(): void;
    resize(): void;
    drawConnectLine(p1: IParticle, p2: IParticle): void;
    drawGrabLine(particle: IParticle, lineColor: IRgb, opacity: number, mousePos: ICoordinates): void;
    drawParticleShadow(particle: Particle, mousePos: ICoordinates): void;
    drawLinkTriangle(p1: IParticle, link1: ILink, link2: ILink): void;
    drawLinkLine(p1: IParticle, link: ILink): void;
    drawParticle(particle: Particle, delta: IDelta): void;
    drawParticleLinks(particle: Particle): void;
    drawPlugin(plugin: IContainerPlugin, delta: IDelta): void;
    drawLight(mousePos: ICoordinates): void;
    private paintBase;
    private lineStyle;
    private initBackground;
}
