import { OnInit, OnChanges, ElementRef, EventEmitter, AfterViewInit } from '@angular/core';
import * as i0 from "@angular/core";
export declare class MushonKeyFlow {
    size: number;
    scaledSize: number;
    label: string;
    context: any;
    group: MushonKeyFlowGroup;
    centerOfs: number;
    sideOfs: number;
    constructor(size: number, label: string, context: any);
}
export declare class MushonKeyFlowGroup {
    leftSide: boolean;
    offset: number;
    flows: Array<MushonKeyFlow>;
    klass: string;
    labelTextSize: number;
    width: number;
    widthPx: number;
    slope: number;
    roundness: number;
    headLength: number;
    tailLength: number;
    headLengthPx: number;
    tailLengthPx: number;
    constructor(leftSide: boolean, flows: Array<MushonKeyFlow>, klass: string, offset?: number, width?: number, slope?: number, roundness?: number, headLength?: number, tailLength?: number, labelTextSize?: number);
}
export declare class MushonKeyChart {
    groups: Array<MushonKeyFlowGroup>;
    centerText: string;
    centerWidth: number;
    centerHeight: number;
    centerDirectionLeft: boolean;
    margin: any;
    centerVerticalOffset: number;
    constructor(groups: Array<MushonKeyFlowGroup>, centerText?: string, centerWidth?: number, centerHeight?: number, centerDirectionLeft?: boolean, margin?: any, centerVerticalOffset?: number);
}
export declare class MushonkeyComponent implements OnInit, OnChanges, AfterViewInit {
    private el;
    chart: MushonKeyChart;
    onSelected: EventEmitter<any>;
    private layout;
    private connectorWidth;
    private center;
    private centerOfs;
    private textIndent;
    private minSideHeight;
    private sideSeparation;
    private centerSeparation;
    private centerScaleRight;
    private centerScaleLeft;
    private d3Chart;
    private width;
    private height;
    constructor(el: ElementRef);
    update(): void;
    ngOnInit(): void;
    ngOnChanges(): void;
    ngAfterViewInit(): void;
    createChart(): void;
    processData(): void;
    generatePath(d: MushonKeyFlow): string;
    updateChart(chart?: MushonKeyChart): void;
    drawCenter(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<MushonkeyComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MushonkeyComponent, "mushonkey", never, { "chart": { "alias": "chart"; "required": false; }; }, { "onSelected": "onSelected"; }, never, never, false, never>;
}
