import * as TSU from "@panyam/tsutils";
import { Embelishment } from "../shapes";
import { GridCell, GridCellView } from "../grids";
import { ElementShape } from "../shapes";
import { Marker } from "../core";
import { Beat } from "../beats";
import { BeatView as BeatViewBase } from "../beatview";
export declare class MarkerView extends ElementShape<SVGGElement> implements GridCellView {
    readonly cell: GridCell;
    readonly beat: Beat;
    readonly markers: Marker[];
    readonly isPreMarker: boolean;
    readonly rootElement: SVGGraphicsElement;
    needsLayout: boolean;
    rootGroup: SVGGElement;
    textElement: SVGTextElement;
    constructor(cell: GridCell, beat: Beat, markers: Marker[], isPreMarker: boolean, rootElement: SVGGraphicsElement, config?: any);
    protected refreshMinSize(): TSU.Geom.Size;
    refreshLayout(): void;
    protected updateBounds(x: null | number, y: null | number, w: null | number, h: null | number): [number | null, number | null, number | null, number | null];
}
export declare class BeatView extends BeatViewBase {
    createAtomView(): import("../shapes").AtomView;
    refreshLayout(): void;
    protected createEmbelishments(): Embelishment[];
}
