import type { ContinueRcJson, FileType, IDE, IdeInfo, IndexTag, Problem, Range, Thread } from "../index.js";
import { ToIdeFromWebviewOrCoreProtocol } from "../protocol/ide.js";
export declare class MessageIde implements IDE {
    private readonly request;
    constructor(request: <T extends keyof ToIdeFromWebviewOrCoreProtocol>(messageType: T, data: ToIdeFromWebviewOrCoreProtocol[T][0]) => Promise<ToIdeFromWebviewOrCoreProtocol[T][1]>);
    getGitHubAuthToken(): Promise<string | undefined>;
    getLastModified(files: string[]): Promise<{
        [path: string]: number;
    }>;
    getGitRootPath(dir: string): Promise<string | undefined>;
    listDir(dir: string): Promise<[string, FileType][]>;
    infoPopup(message: string): Promise<void>;
    errorPopup(message: string): Promise<void>;
    getRepoName(dir: string): Promise<string | undefined>;
    getDebugLocals(threadIndex: number): Promise<string>;
    getTopLevelCallStackSources(threadIndex: number, stackDepth: number): Promise<string[]>;
    getAvailableThreads(): Promise<Thread[]>;
    getTags(artifactId: string): Promise<IndexTag[]>;
    getIdeInfo(): Promise<IdeInfo>;
    readRangeInFile(filepath: string, range: Range): Promise<string>;
    isTelemetryEnabled(): Promise<boolean>;
    getUniqueId(): Promise<string>;
    getWorkspaceConfigs(): Promise<ContinueRcJson[]>;
    getDiff(): Promise<string>;
    getTerminalContents(): Promise<string>;
    listWorkspaceContents(directory?: string): Promise<string[]>;
    getWorkspaceDirs(): Promise<string[]>;
    showLines(filepath: string, startLine: number, endLine: number): Promise<void>;
    listFolders(): Promise<string[]>;
    _continueDir: string | null;
    getContinueDir(): Promise<string>;
    writeFile(path: string, contents: string): Promise<void>;
    showVirtualFile(title: string, contents: string): Promise<void>;
    openFile(path: string): Promise<void>;
    runCommand(command: string): Promise<void>;
    saveFile(filepath: string): Promise<void>;
    readFile(filepath: string): Promise<string>;
    showDiff(filepath: string, newContents: string, stepIndex: number): Promise<void>;
    getOpenFiles(): Promise<string[]>;
    getCurrentFile(): Promise<string | undefined>;
    getPinnedFiles(): Promise<string[]>;
    getSearchResults(query: string): Promise<string>;
    getProblems(filepath: string): Promise<Problem[]>;
    subprocess(command: string): Promise<[string, string]>;
    getBranch(dir: string): Promise<string>;
}
//# sourceMappingURL=messageIde.d.ts.map