import { IEnvironmentCliObj, IProjectCliObj } from '../util_modules/project'; interface IRCData { [x: string]: unknown; } declare class RC { path: string; data: IRCData; private isLoaded; constructor(rcpath: string, data?: IRCData); set(key: string | Array, value: unknown): void; get(key: string | Array, fallback?: T): T; getProjectById(projectId: string): IProjectCliObj | undefined; getProjectByName(projectName: string): IProjectCliObj | undefined; associateEnv(projectId: string, env: IEnvironmentCliObj, { base, active }: { base: boolean; active: boolean; }): Promise; removeEnv(projectId: string, envId: string): Promise; upsertProject(project: IProjectCliObj, { base, ignoreEnv, active }?: { base?: boolean; ignoreEnv?: boolean; active?: boolean; }): Promise; removeProject(id: string): Promise; _reIndex(arr: Array, removedIdx: number, pth: string): void; save(): Promise; syncSave(): void; delete(): Promise; get hasProjects(): boolean; get projects(): Array; get defaultEnvIdx(): number; get defaultProjectIdx(): number; get activeEnvIdx(): number; get activeProjectIdx(): number; get defaultProject(): IProjectCliObj | undefined; get activeProject(): IProjectCliObj | undefined; get defaultEnv(): IEnvironmentCliObj | undefined; get activeEnv(): IEnvironmentCliObj | undefined; get loaded(): boolean; set loaded(load: boolean); static loadFile(rcpath: string): Promise; static load(): Promise; } export default RC;