import type { NormalizedContributionData } from "../data";
export type ContributionHeatmapCell<TData = unknown> = {
    index: number;
    date: Date;
    value: number | null;
    defined: boolean;
    outOfRange: boolean;
    weekIndex: number;
    weekdayIndex: number;
    x: number;
    y: number;
    size: number;
    raw?: TData;
};
export type ContributionHeatmapMonthLabel = {
    key: string;
    date: Date;
    monthIndex: number;
    x: number;
    y: number;
};
export type ContributionHeatmapWeekdayLabel = {
    key: string;
    weekdayIndex: number;
    dayIndex: number;
    x: number;
    y: number;
};
export type ContributionHeatmapModel<TData = unknown> = {
    cells: Array<ContributionHeatmapCell<TData>>;
    monthLabels: ContributionHeatmapMonthLabel[];
    weekdayLabels: ContributionHeatmapWeekdayLabel[];
    width: number;
    height: number;
    weekCount: number;
    valueMin: number;
    valueMax: number;
};
export type BuildContributionHeatmapOptions<TData = unknown> = {
    data: NormalizedContributionData<TData>;
    cellSize: number;
    gutterSize?: number | undefined;
    weekStartsOn?: number | undefined;
    showOutOfRangeDays?: boolean | undefined;
    monthLabelHeight?: number | undefined;
    weekdayLabelWidth?: number | undefined;
};
export declare const buildContributionHeatmap: <TData = unknown>({ data, cellSize, gutterSize, weekStartsOn, showOutOfRangeDays, monthLabelHeight, weekdayLabelWidth }: BuildContributionHeatmapOptions<TData>) => ContributionHeatmapModel<TData>;
//# sourceMappingURL=contributionHeatmap.d.ts.map