import { LinkedPorjectsConfig, LinkedProject } from '../../index';
import { BaseFeatureForProject } from './base-feature-for-project';
import type { BaseProject } from './base-project';
export declare class BaseLinkedProjects<PROJECT extends BaseProject = any> extends BaseFeatureForProject<PROJECT> {
    private cache;
    get embeddedProject(): PROJECT;
    get projectsDbLocation(): string;
    saveLocationToDB(): Promise<void>;
    saveAllLinkedProjectsToDB(): Promise<void>;
    addLinkedProject(linkedProj: LinkedProject | string, options?: {
        skipFormat?: boolean;
    }): void;
    addLinkedProjects(linkedProjs: LinkedProject[], options?: {
        skipFormat?: boolean;
    }): void;
    setLinkedProjectsConfig(linkedPorjectsConfig: Partial<LinkedPorjectsConfig>, options?: {
        skipFormat?: boolean;
    }): void;
    formatConfigFile(): void;
    private get linkedProjectsConfigPath();
    private get linkedProjectsConfigTempPath();
    protected recreateLinkedProjectsConfig(): void;
    getLinkedProjectsConfig(): LinkedPorjectsConfig;
    get linkedProjects(): LinkedProject[];
    get detectedLinkedProjects(): LinkedProject[];
    get linkedProjectsPrefix(): string;
    resetLinkedProjectsOnlyToCoreBranches(): boolean;
    cloneNonexistedLinkedProjects(setOrigin: 'ssh' | 'http'): Promise<void>;
}
