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