import * as i0 from '@angular/core';
import { EventEmitter } from '@angular/core';
import { HtmlColor } from '@obliczeniowo/elementary/classes';
import * as i2 from '@angular/common';
import * as i3 from '@obliczeniowo/elementary/circle-menu';
import * as i4 from '@obliczeniowo/elementary/text-pipes';

type KeyValues = {
    [key: string]: number;
};
type PieGroups = {
    [groupName: string]: KeyValues;
};
type ConfigKeyData = {
    start: number;
    end: number;
    color: HtmlColor;
    background: HtmlColor;
    value: number;
    key: string;
    group: string;
};
interface PieGroupItem {
    group: string;
    key: string;
    value: number;
}
interface Config {
    sum: number;
    name: string;
    class: string;
    keyConfig: {
        [key: string]: ConfigKeyData;
    };
}
declare class PieGroupDiagramComponent {
    readonly width = 800;
    readonly height = 800;
    protected config: i0.Signal<Config[]>;
    protected minRay: number;
    protected selected?: ConfigKeyData;
    display: i0.InputSignal<"value" | "key" | "none">;
    translations: i0.InputSignal<{
        [en: string]: string;
    }>;
    data: i0.InputSignal<PieGroups>;
    clicked: EventEmitter<PieGroupItem>;
    get archThick(): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<PieGroupDiagramComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<PieGroupDiagramComponent, "obl-pie-group-diagram", never, { "display": { "alias": "display"; "required": false; "isSignal": true; }; "translations": { "alias": "translations"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; }, { "clicked": "clicked"; }, never, never, false, never>;
}

declare class PieGroupDiagramModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<PieGroupDiagramModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<PieGroupDiagramModule, [typeof PieGroupDiagramComponent], [typeof i2.CommonModule, typeof i3.CircleMenuModule, typeof i4.TextPipesModule], [typeof PieGroupDiagramComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<PieGroupDiagramModule>;
}

export { PieGroupDiagramComponent, PieGroupDiagramModule };
export type { KeyValues, PieGroupItem, PieGroups };
