import { Repo } from './repo';
import { XrefFile } from 'xrefparser';
import { CliArgs } from './types';
export declare class Config {
    data: ConfigData;
    private configRootDir;
    private reposDir;
    private configFile;
    private tmpDir;
    private currentCommand;
    initialize(args: CliArgs): Promise<void>;
    private checkDirs;
    private loadConfig;
    private validateConfig;
    askEditorType(config: ConfigData): Promise<void>;
    saveConfig(): void;
    addRepo(repo: Repo): void;
    removeRepo(reponame: string): void;
    repoExists(reponame: string): boolean;
    writeRepoData(reponame: string, xrefdata: any): boolean;
    getRepo(reponame?: string): Repo;
    private getRepoFilename;
    loadRepo(reponame: string): XrefFile[];
    writeTmpFile(content: string, postfix?: string): string;
}
export declare class ConfigData {
    current: string;
    editor: EditorConfig;
    repos: Repo[];
}
export declare class EditorConfig {
    name: string;
    type: 'gui' | 'cli' | '';
    executable: string;
    open: string;
}
