import type { AiAssistantAnimation } from '../main/main.types';
/**
 * Enforces that at most one loading-indicator style (dots vs. waves) is enabled
 * at a time. The two are alternative presentations of the same "assistant is
 * working" state, so selecting one must deselect the other.
 *
 * The settings control is a multiselect (checkboxes), which permits selecting
 * both; this resolver makes the loading-style group behave like a radio group
 * by dropping the previously-selected style whenever a new one is added.
 *
 * @param next - The freshly-selected animation list (e.g. emitted by the
 *   multiselect, or read from consumer config).
 * @param previous - The animation list in effect before this change. Used to
 *   work out which loading style was just added so the other can be dropped.
 *   Pass `[]` when resolving an initial/config value with no prior state.
 * @returns `next` with at most one loading style retained. When both are
 *   present and neither is newly added (e.g. a misconfigured `enabled` list),
 *   the first entry of `LOADING_STYLE_ANIMATIONS` (dots) wins.
 *
 * @internal
 */
export declare function resolveExclusiveLoadingStyle(next: AiAssistantAnimation[], previous?: AiAssistantAnimation[]): AiAssistantAnimation[];
//# sourceMappingURL=animation-exclusivity.d.ts.map