/**
 * SessionManager
 * Manages AI session lifecycle, queue, and job processing
 */
import type { SessionInfo, JobRequest, JobStatus, SessionManagerConfig, CreateSessionOptions, DeleteSessionOptions, ListSessionsOptions } from './types.js';
export declare class SessionManager {
    private sessionsDir;
    private config;
    private executor;
    constructor(workDir?: string, config?: SessionManagerConfig);
    /**
     * Ensure all required directories exist
     */
    private ensureDirectories;
    /**
     * Create a new AI session with schema caching
     */
    create(options?: CreateSessionOptions): Promise<SessionInfo>;
    /**
     * Submit AI generation request to session queue
     */
    submit(request: JobRequest): Promise<JobStatus>;
    /**
     * Get status of a job
     */
    status(jobId: string): Promise<JobStatus>;
    /**
     * Process a job from the queue
     */
    processJob(jobId: string): Promise<JobStatus>;
    /**
     * Build Claude Code prompt for a job
     */
    private buildJobPrompt;
    /**
     * Save job result to filesystem
     */
    private saveJobResult;
    /**
     * List all sessions
     */
    list(options?: ListSessionsOptions): Promise<SessionInfo[]>;
    /**
     * Delete a session
     */
    delete(sessionId: string, options?: DeleteSessionOptions): Promise<void>;
    /**
     * Generate a unique session ID (UUID format required by Claude Code)
     */
    private generateSessionId;
    /**
     * Save session metadata to filesystem
     */
    private saveSession;
    /**
     * Load session metadata from filesystem
     */
    private loadSession;
    /**
     * Save queue item to filesystem
     */
    private saveQueueItem;
    /**
     * Get all pending jobs for a session
     */
    private getPendingJobs;
    /**
     * Update session last activity timestamp
     */
    private updateSessionActivity;
}
//# sourceMappingURL=session-manager.d.ts.map