import { type ButtonHTMLAttributes, type CSSProperties, type Ref, type SVGProps } from 'react';
import { type CssLength, type CssTime } from '../../../utils/css';
export type CameraToggleIconProps = Omit, 'children' | 'color'> & {
enabled?: boolean;
title?: string;
};
export type CameraToggleButtonStyle = CSSProperties & {
'--camera-toggle-camera-color'?: string;
'--camera-toggle-disabled-camera-color'?: string;
'--camera-toggle-duration'?: string;
'--camera-toggle-glow-color'?: string;
'--camera-toggle-hit-area'?: string;
'--camera-toggle-hover-background'?: string;
'--camera-toggle-size'?: string;
'--camera-toggle-slash-color'?: string;
'--camera-toggle-slash-width'?: string;
};
export type CameraToggleButtonProps = Omit, 'aria-pressed' | 'children' | 'color' | 'style'> & {
cameraColor?: string;
defaultEnabled?: boolean;
disabledCameraColor?: string;
duration?: CssTime;
enabled?: boolean;
glowColor?: string;
hitArea?: CssLength;
hoverBackground?: string;
label?: string;
onEnabledChange?: (enabled: boolean) => void;
ref?: Ref;
size?: CssLength;
slashColor?: string;
slashWidth?: CssLength;
style?: CameraToggleButtonStyle;
};
export declare const CameraToggleIcon: ({ enabled, className, title, role, "aria-hidden": ariaHidden, ...props }: CameraToggleIconProps) => import("react/jsx-runtime").JSX.Element;
export declare const CameraToggleButton: ({ cameraColor, className, defaultEnabled, disabled, disabledCameraColor, duration, enabled, glowColor, hitArea, hoverBackground, label, onClick, onEnabledChange, ref, size, slashColor, slashWidth, style, type, "aria-disabled": ariaDisabled, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...buttonProps }: CameraToggleButtonProps) => import("react/jsx-runtime").JSX.Element;