import { AtomView, Embelishment, ElementShape } from "./shapes";
import { GridCell, GridCellView } from "./grids";
import { Cycle } from "./cycle";
import { Beat } from "./beats";
export declare abstract class BeatView extends ElementShape<SVGGElement> implements GridCellView {
    readonly cell: GridCell;
    readonly beat: Beat;
    readonly rootElement: SVGGraphicsElement;
    readonly cycle: Cycle;
    private _embelishments;
    atomView: AtomView;
    needsLayout: boolean;
    constructor(cell: GridCell, beat: Beat, rootElement: SVGGraphicsElement, cycle: Cycle, config?: any);
    get embelishments(): Embelishment[];
    setStyles(config: any): void;
    protected abstract createEmbelishments(): Embelishment[];
    protected abstract createAtomView(): AtomView;
}
