import { EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
import * as i0 from "@angular/core";
/**
 * Extra CSS classes that can be associated with a calendar cell.
 */
export type KbqCalendarCellCssClasses = string | string[] | Set<string> | {
    [key: string]: any;
};
/**
 * An internal class that represents the data corresponding to a single calendar cell.
 * @docs-private
 */
export declare class KbqCalendarCell {
    value: number;
    displayValue: string;
    enabled: boolean;
    cssClasses?: KbqCalendarCellCssClasses | undefined;
    constructor(value: number, displayValue: string, enabled: boolean, cssClasses?: KbqCalendarCellCssClasses | undefined);
}
/**
 * An internal component used to display calendar data in a table.
 * @docs-private
 */
export declare class KbqCalendarBody implements OnChanges {
    /** The cells to display in the table. */
    rows: KbqCalendarCell[][];
    /** The value in the table that corresponds to today. */
    todayValue: number;
    /** The value in the table that is currently selected. */
    selectedValue: number;
    /** The minimum number of free cells needed to fit the label in the first row. */
    labelMinRequiredCells: number;
    /** The number of columns in the table. */
    numCols: number;
    /** The cell number of the active cell in the table. */
    activeCell: number;
    /**
     * The aspect ratio (width / height) to use for the cells in the table. This aspect ratio will be
     * maintained even as the table resizes.
     */
    cellAspectRatio: number;
    /** Emits when a new value is selected. */
    readonly selectedValueChange: EventEmitter<number>;
    /** The number of blank cells to put at the beginning for the first row. */
    firstRowOffset: number;
    /** Padding for the individual date cells. */
    cellPadding: string;
    /** Width of an individual cell. */
    cellWidth: string;
    cellClicked(cell: KbqCalendarCell): void;
    ngOnChanges(changes: SimpleChanges): void;
    isActiveCell(rowIndex: number, colIndex: number): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<KbqCalendarBody, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<KbqCalendarBody, "[kbq-calendar-body]", ["kbqCalendarBody"], { "rows": { "alias": "rows"; "required": false; }; "todayValue": { "alias": "todayValue"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "labelMinRequiredCells": { "alias": "labelMinRequiredCells"; "required": false; }; "numCols": { "alias": "numCols"; "required": false; }; "activeCell": { "alias": "activeCell"; "required": false; }; "cellAspectRatio": { "alias": "cellAspectRatio"; "required": false; }; }, { "selectedValueChange": "selectedValueChange"; }, never, never, false, never>;
}
