import { GlobalConfigKey, GlobalConfigValue } from '../types/global_config';
/**
 * A hook for syncing a component to {@link GlobalConfig}.
 * Useful if you are dealing with a custom input component and can‘t use one of our `Synced` components.
 *
 * @param globalConfigKey
 * @example
 * ```js
 * import {useBase, useSynced} from '@airtable/blocks/ui';
 *
 * function CustomInputSynced() {
 *    const [value, setValue, canSetValue] = useSynced('myGlobalConfigKey');
 *
 *     return (
 *         <input
 *              type="text"
 *              value={value}
 *              onChange={e => setValue(e.target.value)}
 *              disabled={!canSetValue}
 *          />
 *     );
 * }
 * ```
 * @docsPath UI/hooks/useSynced
 * @hook
 */
export default function useSynced(globalConfigKey: GlobalConfigKey): [unknown, (newValue: GlobalConfigValue | undefined) => void, boolean];
