import { IConfigFile, IProject, IProjectMeta, ITimerFile, IGitttFile } from "../interfaces";
export declare class FileHelper {
    static getHomeDir: () => string;
    private configFilePath;
    private timerFilePath;
    private configDir;
    private projectDir;
    private configObject;
    private jsonWriteOptions;
    constructor(configDir: string, configFileName: string, timerFileName: string, projectDir: string);
    createConfigDir: () => Promise<void>;
    getProjectPath(project: IProject): string;
    initConfigFile: (gitRepo: string) => Promise<IConfigFile>;
    initProject: (project: IProject) => Promise<IProject>;
    initTimerFile: () => Promise<void>;
    configDirExists: () => Promise<boolean>;
    getGitttFile: () => Promise<IGitttFile>;
    getConfigObject: (fromDisk?: boolean) => Promise<IConfigFile>;
    isConfigFileValid(): Promise<boolean>;
    timerFileExists: () => boolean;
    saveProjectObject: (project: IProject) => Promise<void>;
    invalidateCache: () => void;
    getTimerObject: () => Promise<ITimerFile>;
    initReadme: () => Promise<void>;
    findProjectByName: (projectName: string, projectMeta?: IProjectMeta | undefined) => Promise<IProject | undefined>;
    saveTimerObject: (timer: ITimerFile) => Promise<void>;
    findAllProjects: () => Promise<IProject[]>;
    findProjectsForDomain: (projectMeta: IProjectMeta) => Promise<IProject[]>;
    removeDomainDirectory: (projectMeta: IProjectMeta, force?: boolean) => Promise<void>;
    removeProjectFile: (project: IProject) => Promise<void>;
    private setConfigObject;
    private projectMetaToPath;
    saveConfigObject: (config: IConfigFile) => Promise<void>;
}
