import { ConfigService, PartialProfileGroup, ProfileGroup, ProfilesService } from 'tabby-core'; /** * The one call this plugin makes to `getProfileGroups()`, clone included. * * The clone is not a precaution one may skip. `buildGroupTree()` writes * `group.children = []` straight onto the objects it is handed; if those are * live references into `config.store.groups`, that computed array is serialized * into `config.yaml` at the next `config.save()` — any save, a favourite is * enough — and the file comes back with duplicated and orphaned groups. That is * piège #12, and it corrupted the user's real configuration once. * * Two callers used to spell the same three lines, the second one right after * the `await`, with a comment each explaining the danger. Nothing enforced it: * a third caller written next year would compile, run, and quietly poison the * config. Spelling it once removes the discipline instead of documenting it — * the same move `isSSHTab()` made for `instanceof SSHTabComponent`. * * **Do not call `profilesService.getProfileGroups()` anywhere else.** */ export declare function readProfileGroups(profiles: ProfilesService, config: ConfigService): Promise[]>;