import * as TSU from "@panyam/tsutils";
import { Atom } from "./core";
import { Command, MetaData as Meta, Block } from "./notation";
export declare class RawEmbedding extends Command {
    get rawContents(): string;
    applyToBlock(container: Block): void;
}
export declare class MetaData extends Command {
    applyToBlock(container: Block): void;
    get meta(): Meta;
    get key(): string;
    get value(): string;
}
export declare class ActivateRole extends Command {
    applyToBlock(container: Block): void;
    get roleName(): string;
}
export declare class AddAtoms extends Command {
    index: number;
    atoms: Atom[];
    constructor(...atoms: Atom[]);
    debugValue(): any;
    applyToBlock(container: Block): void;
}
export declare class CreateLine extends Command {
    applyToBlock(container: Block): void;
    get offset(): TSU.Num.Fraction;
    get marginText(): string;
}
export declare class CreateRole extends Command {
    applyToBlock(container: Block): void;
    get notesOnly(): boolean;
}
export declare abstract class LayoutParamCommand extends Command {
}
export declare class ApplyLayout extends Command {
    validateParams(): void;
    applyToBlock(container: Block): void;
}
export declare class SetBreaks extends LayoutParamCommand {
    get pattern(): number[];
    validateParams(): void;
    applyToBlock(container: Block): void;
}
export declare class SetCycle extends LayoutParamCommand {
    applyToBlock(container: Block): void;
}
export declare class SetBeatDuration extends LayoutParamCommand {
    validateParams(): void;
    get beatDuration(): number;
    applyToBlock(container: Block): void;
}
export declare class Section extends Command {
    get sectionName(): string;
    validateParams(): void;
    applyToBlock(_container: Block): void;
}
export declare class ScopedGroup extends Command {
    get groupName(): string;
    applyToBlock(_container: Block): void;
}
export declare class Repeat extends Command {
    get count(): number;
    validateParams(): void;
    applyToBlock(_container: Block): void;
}
