/** * @typedef {object} HardConflictRegistration * @property {string} blockedKey Plugin or other key that must not enable while the conflict applies (usually a * `PLUGIN_KEY`). * @property {string} incompatibleSettingKey Top-level Handsontable setting key that triggers the conflict when its * value is truthy (`!!settings[incompatibleSettingKey]`). Shown in console warnings. */ interface HardConflictRegistration { blockedKey: string; incompatibleSettingKey: string; } /** * Registers hard conflicts. The plugin or feature identified by `blockedKey` cannot enable while any matching * registration has an active incompatible setting (`!!settings[incompatibleSettingKey]`). * * Call shapes (second argument is always named `incompatibleSettingKeys` in code; it is either one string or a string * array): * * 1. **Single pair** — `registerConflict(blockedTargetKey, incompatibleSettingKeys)` with `incompatibleSettingKeys` a * string. * 2. **One setting blocks several targets** — `registerConflict(blockedTargetKeys[], incompatibleSettingKeys)` with * `incompatibleSettingKeys` a string. * 3. **One target blocked by several settings** — `registerConflict(blockedTargetKey, incompatibleSettingKeys)` with * `incompatibleSettingKeys` a string array (for example Pagination, DataProvider). * * @param {string|string[]} blockedTargetKeyOrKeys Key or keys that must stay disabled (typically `PLUGIN_KEY` values). * @param {string|string[]} incompatibleSettingKeys One top-level setting key, or an array of keys, that trigger the * conflict when truthy in `settings`. */ export declare function registerConflict(blockedTargetKeyOrKeys: string | string[], incompatibleSettingKeys: string | string[]): void; /** * Returns the first hard conflict entry that applies to `blockedKey` for the given `settings`. * * @param {Handsontable.DefaultSettings} settings Current instance settings. * @param {string} blockedKey Key being enabled (usually a plugin `PLUGIN_KEY`). * @returns {HardConflictRegistration|null} */ export declare function getHardConflict(settings: Record, blockedKey: string): HardConflictRegistration | null; export {};