import type { AriaCheckboxProps } from '@react-types/checkbox';
import React from 'react';
import { AnchorAttributes, DivAttributes, Props } from '../_utils/types';
export interface HeroTextProps extends Props {
}
export interface HeroMediaProps extends Props {
    overlay?: boolean;
    onOverlayClick?: React.MouseEventHandler<HTMLDivElement>;
}
export declare type Roles = 'none' | 'link' | 'checkbox';
export interface TileCommonProps<Role extends Roles> extends Props {
    /**
     * @since 11.6.0
     */
    orientation: 'portrait' | 'landscape';
    /**
     * @since 11.6.0
     */
    role?: Role;
}
export interface CheckboxTileProps extends Omit<AriaCheckboxProps, 'isDisabled' | 'children' | 'defaultSelected' | 'isSelected'>, TileCommonProps<'checkbox'> {
    /**
     * Whether the element should be selected (uncontrolled).
     * Only for single checkbox, doesn't work in CheckboxGroup.
     *
     * @since 11.6.0
     */
    defaultChecked?: boolean;
    /**
     * Whether the element should be selected (controlled).
     * Only for single checkbox, doesn't work in CheckboxGroup.
     *
     * @since 11.6.0
     */
    checked?: boolean;
    /**
     * @since 11.6.0
     */
    disabled?: boolean;
    /**
     * @since 11.6.0
     */
    value: string;
}
export interface InteractableTileProps extends TileCommonProps<'none'>, Omit<DivAttributes, 'role'> {
}
export interface LinkTileProps extends TileCommonProps<'link'>, Omit<AnchorAttributes, 'role'> {
}
export declare type TileProps<Role extends Roles = 'none'> = Role extends 'link' ? LinkTileProps : Role extends 'checkbox' ? CheckboxTileProps : Role extends 'none' ? InteractableTileProps : TileCommonProps<Role>;
export interface RefMap extends Record<Roles, React.ElementType> {
    none: 'div';
    link: 'a';
    checkbox: 'input';
}
export declare type TileRef<C extends Roles> = React.ComponentPropsWithRef<RefMap[C]>['ref'];
