/**
 * @typedef {Object} TabBarRepositoryInput
 * @property {string} name
 * @property {string} localPath
 * @property {boolean} enabled
 */
/**
 * @typedef {Object} TabBarBuildInput
 * @property {TabBarRepositoryInput[]} repositories
 * @property {string | null} activeTabId
 */
/**
 * @typedef {Object} TabBarTabViewModel
 * @property {string} id
 * @property {string} label
 * @property {boolean} isActive
 * @property {boolean} enabled
 */
/**
 * @typedef {Object} TabBarViewModel
 * @property {TabBarTabViewModel[]} tabs
 */
/**
 * @param {TabBarBuildInput} input
 * @returns {TabBarViewModel}
 */
export function buildTabBarModel(input: TabBarBuildInput): TabBarViewModel;
/**
 * @param {TabBarViewModel} viewModel
 * @returns {string}
 */
export function renderTabBarHtml(viewModel: TabBarViewModel): string;
/**
 * @returns {string | null}
 */
export function readActiveTab(): string | null;
/**
 * @param {string} tabId
 * @returns {void}
 */
export function writeActiveTab(tabId: string): void;
export type TabBarRepositoryInput = {
    name: string;
    localPath: string;
    enabled: boolean;
};
export type TabBarBuildInput = {
    repositories: TabBarRepositoryInput[];
    activeTabId: string | null;
};
export type TabBarTabViewModel = {
    id: string;
    label: string;
    isActive: boolean;
    enabled: boolean;
};
export type TabBarViewModel = {
    tabs: TabBarTabViewModel[];
};
//# sourceMappingURL=tabBar.d.ts.map