import * as Blockly from "blockly";
export declare class VerticalFlyout implements Blockly.IFlyout {
    protected options: Blockly.Options;
    horizontalLayout: boolean;
    RTL: boolean;
    targetWorkspace: Blockly.WorkspaceSvg;
    MARGIN: number;
    autoClose: boolean;
    CORNER_RADIUS: number;
    protected cached: CachedFlyout[];
    protected element: SVGElement;
    protected activeFlyout: CachedFlyout;
    protected visible: boolean;
    protected dummyWorkspace: Blockly.WorkspaceSvg;
    protected containerVisible: boolean;
    constructor(options: Blockly.Options);
    createDom(tagName: string | Blockly.utils.Svg<SVGSVGElement> | Blockly.utils.Svg<SVGGElement>): SVGElement;
    init(targetWorkspace: Blockly.WorkspaceSvg): void;
    dispose(): void;
    getWidth(): number;
    getHeight(): number;
    getWorkspace(): Blockly.WorkspaceSvg;
    isVisible(): boolean;
    setVisible(visible: boolean): void;
    setContainerVisible(visible: boolean): void;
    hide(): void;
    show(flyoutDef: string | Blockly.utils.toolbox.FlyoutDefinition, cacheKey?: string): void;
    createBlock(originalBlock: Blockly.BlockSvg): Blockly.BlockSvg;
    reflow(): void;
    isScrollable(): boolean;
    getX(): number;
    getY(): number;
    position(): void;
    isDragTowardWorkspace(currentDragDeltaXY: Blockly.utils.Coordinate): boolean;
    isBlockCreatable(block: Blockly.BlockSvg): boolean;
    scrollToStart(): void;
    getContents(): import("blockly/core/flyout_base").FlyoutItem[];
    protected blocksToString(xmlList: Element[]): string;
    protected hashBlocks(xmlList: Element[]): number;
}
declare class CachedFlyout extends Blockly.VerticalFlyout {
    protected options: Blockly.Options;
    protected def: Element[];
    protected buttonListeners: Blockly.browserEvents.Data[];
    key: string | number;
    constructor(options: Blockly.Options);
    show(flyoutDef: string | Blockly.utils.toolbox.FlyoutDefinition): void;
    protected blockIsRecyclable_(block: Blockly.BlockSvg): boolean;
    protected initFlyoutButton_(button: Blockly.FlyoutButton, x: number, y: number): void;
    protected onButtonMouseDown(e: PointerEvent): void;
}
export {};
