import type { FastifyPluginAsync } from 'fastify';
import type { RepositoryConfig } from '../../../../../frameworks/config/configLoader.js';
export type AddRepositoryRouteResult = {
    status: 'ok';
    repositories: RepositoryConfig[];
} | {
    status: 'not-a-directory';
} | {
    status: 'duplicate';
} | {
    status: 'write-failed';
};
export type RemoveRepositoryRouteResult = {
    status: 'ok';
    repositories: RepositoryConfig[];
} | {
    status: 'not-found';
} | {
    status: 'write-failed';
};
export type PatchRepositoryRouteResult = {
    status: 'ok';
    repositories: RepositoryConfig[];
} | {
    status: 'not-found';
} | {
    status: 'write-failed';
};
export interface RepositoriesRoutesOptions {
    getRepositories: () => RepositoryConfig[];
    addRepository: (input: {
        localPath: string;
    }) => AddRepositoryRouteResult;
    removeRepository: (input: {
        localPath: string;
    }) => RemoveRepositoryRouteResult;
    patchRepository: (input: {
        localPath: string;
        enabled: boolean;
    }) => PatchRepositoryRouteResult;
}
export declare const repositoriesRoutes: FastifyPluginAsync<RepositoriesRoutesOptions>;
//# sourceMappingURL=repositories.routes.d.ts.map