import { EventEmitter } from '@angular/core';
import { Observable } from 'rxjs';
import { HtmlColor } from '@obliczeniowo/elementary/classes';
import * as i0 from "@angular/core";
export interface DayStatistic<T extends {} = {
    [key: string]: any;
}> {
    date: Date;
    count: number;
    data?: T;
    x?: number;
    y?: number;
}
export interface DaySettings {
    size: number;
    margin: number;
    colors: HtmlColor[];
    colorsStats?: {
        [key: number]: HtmlColor;
    };
    getExtData?: (statistic: DayStatistic) => Observable<any>;
}
export declare class DailyStatisticComponent {
    protected loading: boolean;
    selected: boolean;
    /** day statistic day */
    statistics: import("@angular/core").InputSignal<DayStatistic<{
        [key: string]: any;
    }>>;
    /** */
    settings: import("@angular/core").InputSignal<DaySettings>;
    get x(): number;
    get y(): number;
    clicked: EventEmitter<DayStatistic<{
        [key: string]: any;
    }>>;
    onClick(): Promise<void>;
    hovered: EventEmitter<DayStatistic<{
        [key: string]: any;
    }> | undefined>;
    hover(): void;
    leave(): void;
    constructor();
    protected setCurrentColor(): void;
    protected currentColor: HtmlColor;
    get width(): number;
    get height(): number;
    size: import("@angular/core").Signal<number>;
    static ɵfac: i0.ɵɵFactoryDeclaration<DailyStatisticComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DailyStatisticComponent, "obl-daily-statistic", never, { "selected": { "alias": "selected"; "required": false; }; "statistics": { "alias": "statistics"; "required": true; "isSignal": true; }; "settings": { "alias": "settings"; "required": true; "isSignal": true; }; }, { "clicked": "clicked"; "hovered": "hovered"; }, never, never, false, never>;
}
