/**
 * Cloud Web Sessions + Teleport
 *
 * Manages cloud-based coding sessions that run in remote VMs.
 * Supports session creation, lifecycle management, sharing, and
 * teleporting (syncing state between local and cloud).
 */
export interface CloudSession {
    id: string;
    status: 'starting' | 'running' | 'paused' | 'completed' | 'failed';
    createdAt: number;
    lastActivity: number;
    task?: string;
    visibility: 'private' | 'team' | 'public';
    repoAccess?: boolean;
    networkAccess: 'none' | 'limited' | 'full';
    vmImage?: string;
}
export interface CloudConfig {
    apiEndpoint: string;
    authToken?: string;
    defaultVisibility: 'private' | 'team' | 'public';
    defaultNetworkAccess: 'none' | 'limited' | 'full';
    allowedDomains: string[];
}
export declare class CloudSessionManager {
    private config;
    private sessions;
    constructor(config?: Partial<CloudConfig>);
    createSession(task: string, options?: Partial<CloudSession>): Promise<CloudSession>;
    listSessions(): CloudSession[];
    getSession(id: string): CloudSession | null;
    pauseSession(id: string): Promise<boolean>;
    resumeSession(id: string): Promise<boolean>;
    terminateSession(id: string): Promise<boolean>;
    shareSession(id: string, visibility: CloudSession['visibility']): Promise<string>;
    sendToCloud(task: string): Promise<CloudSession>;
    getActiveCount(): number;
    getTotalCount(): number;
}
export declare class TeleportManager {
    private cloudManager;
    constructor(cloudManager: CloudSessionManager);
    teleport(sessionId: string): Promise<{
        success: boolean;
        localSessionId?: string;
        filesTransferred?: number;
        diffSummary?: string;
    }>;
    pushToCloud(localSessionId: string): Promise<CloudSession>;
    syncState(sessionId: string): Promise<{
        conflicts: string[];
        merged: number;
    }>;
    getDiff(sessionId: string): Promise<string>;
}
