import { ToggleSource } from '@livekit/components-core'; import { Room } from 'livekit-client'; import { TrackToggleProps } from '../components'; import * as React from 'react'; /** @public */ export interface UseTrackToggleProps extends Omit, 'showIcon'> { room?: Room; } /** * The `useTrackToggle` hook is used to implement the `TrackToggle` component and returns state * and functionality of the given track. * * @example * ```tsx * const { buttonProps, enabled } = useTrackToggle(trackRef); * return ; * ``` * @public */ export declare function useTrackToggle({ source, onChange, initialState, captureOptions, publishOptions, onDeviceError, room, ...rest }: UseTrackToggleProps): { toggle: ((forceState?: boolean) => Promise) | ((forceState?: boolean, captureOptions?: import('@livekit/components-core').CaptureOptionsBySource | undefined) => Promise); enabled: boolean; pending: boolean; track: import('livekit-client').LocalTrackPublication | undefined; buttonProps: React.ButtonHTMLAttributes; }; //# sourceMappingURL=useTrackToggle.d.ts.map