/**
 * @param {ManagePanelBuildInput} input
 * @returns {ManagePanelViewModel}
 */
export function buildManagePanelModel(input: ManagePanelBuildInput): ManagePanelViewModel;
/**
 * @param {ManagePanelViewModel} viewModel
 * @returns {string}
 */
export function renderManagePanelHtml(viewModel: ManagePanelViewModel): string;
/**
 * @param {ManagePanelRepositoryInput} repository
 * @returns {ManagePanelRowViewModel}
 */
export function buildOptimisticAddedRow(repository: ManagePanelRepositoryInput): ManagePanelRowViewModel;
/**
 * @typedef {{ ok: true } | { ok: false, reason: 'empty' | 'relative' }} ValidateLocalPathInputResult
 */
/**
 * @param {string} rawInput
 * @returns {ValidateLocalPathInputResult}
 */
export function validateLocalPathInput(rawInput: string): ValidateLocalPathInputResult;
export type ManagePanelRepositoryInput = {
    name: string;
    localPath: string;
    enabled: boolean;
};
export type ManagePanelBuildInput = {
    repositories: ManagePanelRepositoryInput[];
    isOpen: boolean;
};
export type ManagePanelRowViewModel = {
    name: string;
    localPath: string;
    shortPath: string;
    enabled: boolean;
};
export type ManagePanelViewModel = {
    rows: ManagePanelRowViewModel[];
    isOpen: boolean;
};
export type ValidateLocalPathInputResult = {
    ok: true;
} | {
    ok: false;
    reason: "empty" | "relative";
};
//# sourceMappingURL=managePanel.d.ts.map