import React, { type ButtonHTMLAttributes } from 'react';
import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/toggle-switch/base.css';
import '@primer/brand-primitives/lib/design-tokens/css/tokens/functional/components/toggle-switch/colors-with-modes.css';
type ToggleSwitchSize = 'small' | 'medium';
type ToggleSwitchSpinnerPosition = 'start' | 'end';
type ToggleSwitchButtonPropKeysToOmit = 'aria-busy' | 'aria-checked' | 'aria-disabled' | 'children' | 'onChange' | 'role' | 'type';
export type ToggleSwitchProps = Omit, ToggleSwitchButtonPropKeysToOmit> & {
'data-testid'?: string;
checked?: boolean;
defaultChecked?: boolean;
onChange?: (checked: boolean) => void;
loading?: boolean;
size?: ToggleSwitchSize;
loadingLabel?: string;
loadingLabelDelay?: number;
spinnerPosition?: ToggleSwitchSpinnerPosition;
};
export type ToggleSwitchInternalProps = ToggleSwitchProps & {
toggleSwitchSpinnerInLabel?: boolean;
};
type ToggleSwitchComponent = React.ForwardRefExoticComponent>;
/**
* Use ToggleSwitch for settings that take effect immediately.
* @see https://primer.style/brand/forms/ToggleSwitch
*/
export declare const ToggleSwitch: ToggleSwitchComponent & {
testIds: {
root: string;
spinner: string;
loadingAnnouncement: string;
};
};
export {};
//# sourceMappingURL=ToggleSwitch.d.ts.map