import { DateTimeFormatTypes, TypographyProps } from '@procore/core-react';
import React from 'react';
import { DateTimeCellColumnDefinition } from '../types';
import { DataTableCellEditorProps, DataTableCellRendererProps } from './DataTableCell';
type PickedDateTimeFormatTypes = Extract<DateTimeFormatTypes, 'abbr-weekday-abbr-date' | 'date' | 'numeric-date' | 'weekday-date'>;
export interface DateCellRendererParams {
    dateFormatType?: PickedDateTimeFormatTypes;
    typographyProps?: TypographyProps;
    timeZone?: string;
}
export interface DateCellColumnDefinition<TValue = string | Date | undefined> extends DateTimeCellColumnDefinition<TValue, 'dateCellRenderer', DateCellRendererParams, 'dateCellEditor', DateCellEditorParams> {
}
export interface DateCellRendererProps<TValue = string | Date | undefined> extends DataTableCellRendererProps<TValue, DateCellColumnDefinition<TValue>> {
}
export declare const DateCellRenderer: React.FunctionComponent<DateCellRendererProps>;
export interface DateCellEditorParams {
    disabledDate?: ((date: Date, today: Date) => boolean) | undefined;
    timeZone?: string;
}
export interface DateCellEditorProps<TValue = string | Date | undefined> extends DataTableCellEditorProps<TValue, DateCellColumnDefinition<TValue>> {
}
export declare const DateCellEditor: React.ForwardRefExoticComponent<Pick<DateCellEditorProps<string | Date | undefined>, "value" | "field" | "rowHeight" | "data" | "rowIndex" | "rowPinned" | "columnDefinition" | "stopEditing" | "setDataValue" | "isGroup" | "parentData" | "parentId" | "tableApi"> & React.RefAttributes<HTMLInputElement>>;
export {};
