/**
 * Global VM Configuration
 *
 * Manages persistent VM configuration stored at ~/.trellis/vm.json.
 * Tracks active sprite and sprite metadata for the trellis vm commands.
 */
/**
 * VM configuration interface.
 */
export interface VmConfig {
    activeSprite: string | null;
    sprites: Record<string, {
        name: string;
        createdAt: string;
        url: string;
        hasTrellis: boolean;
        apiKey?: string;
        lastCheckpoint?: string;
        linkedMilestone?: string;
    }>;
}
/**
 * Load the VM configuration, or return default if not yet created.
 */
export declare function loadVmConfig(): VmConfig;
/**
 * Save (or overwrite) the VM configuration.
 */
export declare function saveVmConfig(config: VmConfig): void;
/**
 * Get the currently active sprite name.
 */
export declare function getActiveSprite(): string | null;
/**
 * Set the active sprite name.
 */
export declare function setActiveSprite(spriteName: string): void;
/**
 * Track a sprite in the VM config (called after creation/deploy).
 */
export declare function trackSprite(spriteName: string, opts?: {
    url?: string;
    hasTrellis?: boolean;
    apiKey?: string;
    lastCheckpoint?: string;
    linkedMilestone?: string;
}): void;
/**
 * Untrack a sprite (called after destruction).
 */
export declare function untrackSprite(spriteName: string): void;
/**
 * Check if a sprite is being tracked.
 */
export declare function isSpriteTracked(spriteName: string): boolean;
/**
 * Get sprite metadata by name.
 */
export declare function getSprite(spriteName: string): VmConfig['sprites'][string] | null;
//# sourceMappingURL=vm-config.d.ts.map