import { AgentProject, AgentProjectLoader } from '../agent-project/agent-project.js';
import { ValidationError } from '../agent-project/types.js';
export interface ProjectCache {
    devId?: string;
    botId?: string;
}
export interface ValidationErrorsLike {
    agentNotLinked: () => ValidationError | Error;
}
export interface DevIdManagerOptions {
    loadAgentProject?: AgentProjectLoader;
    validationErrors?: ValidationErrorsLike;
}
export declare class DevIdManager {
    private projectPath;
    private botProjectPath;
    private projectCachePath;
    private client?;
    private loadAgentProject;
    private validationErrors;
    constructor(projectPath: string, botProjectPath: string, options?: DevIdManagerOptions);
    private getClient;
    getProject(): Promise<AgentProject>;
    readProjectCache(): Promise<ProjectCache>;
    saveProjectCache(cache: ProjectCache): Promise<void>;
    preserveDevId(): Promise<void>;
    restoreDevId(): Promise<void>;
    checkDevBotExists(): Promise<boolean>;
}
//# sourceMappingURL=dev-id-manager.d.ts.map