import type { AsElementType, CalendarDayTheme, OtherHTMLAttributes } from '@instructure/shared-types';
import type { WithStyleProps, ComponentStyle } from '@instructure/emotion';
import { KeyboardEvent, MouseEvent } from 'react';
import type { ViewProps } from '@instructure/ui-view/latest';
import { Renderable } from '@instructure/shared-types';
type CalendarDayOwnProps = {
/**
* The rendered representation of the corresponding date.
*/
children?: Renderable;
/**
* An ISO 8601 formatted string representing the date corresponding to
* this ``
*/
date: string;
/**
* Accessible label to provide more context for the date to assistive
* technologies. This should consist of more than just a numerical date value.
* It should also include the month and the year. Ex. instead of just `1`,
* provide `1 August 2019`.
*/
label: string;
/**
* Is the `` disabled
*/
interaction?: 'enabled' | 'disabled';
/**
* Is the `` selected
*/
isSelected?: boolean;
/**
* Is the `` today
*/
isToday?: boolean;
/**
* Is the `` located outside the current rendered month
*/
isOutsideMonth?: boolean;
/**
* Callback fired on click.
* @param {Object} event - the click event
* @param {Object} data - additional data
* @param data.date - the date of the corresponding ``
*/
onClick?: (event: MouseEvent, date: {
date: string;
}) => void;
/**
* Callback fired on key down.
* @param {Object} event - the key down event
* @param {Object} data - additional data
* @param data.date - the date of the corresponding ``
*/
onKeyDown?: (event: KeyboardEvent, data: {
date: string;
}) => void;
/**
* A ref function for the underlying DOM element.
*/
elementRef?: (element: Element | null) => void;
/**
* the element type to render as
*/
as?: AsElementType;
};
type CalendarDayStyleProps = {
isDisabled: boolean;
};
type PropKeys = keyof CalendarDayOwnProps;
type AllowedPropKeys = Readonly>;
type CalendarDayProps = CalendarDayOwnProps & WithStyleProps & OtherHTMLAttributes;
type CalendarDayStyle = ComponentStyle<'calendarDay' | 'day'>;
declare const allowedProps: AllowedPropKeys;
export type { CalendarDayProps, CalendarDayStyleProps, CalendarDayStyle };
export { allowedProps };
//# sourceMappingURL=props.d.ts.map