import { SessionSummary, PageResult, TestResult } from '../types/index.js';
import { StandardTestOutputHandler } from './test-output-handler.js';
import { OutputContext } from '../types/test-output-types.js';
export declare class SessionManager {
    private readonly outputDir;
    private outputHandler;
    constructor();
    createSessionId(): string;
    createSessionDirectory(sessionId: string): Promise<void>;
    createPageDirectory(sessionId: string, pageName: string): Promise<string>;
    getPageName(url: string): string;
    getPagePath(sessionId: string, pageName: string): string;
    getScreenshotPath(sessionId: string, pageName: string, viewportName: string): string;
    getScanPath(sessionId: string, pageName: string, scanType: string): string;
    savePageSummary(sessionId: string, pageResult: PageResult): Promise<void>;
    generateSessionSummary(summary: SessionSummary, pageResults: PageResult[]): Promise<void>;
    private generatePageSummaryMarkdown;
    private generateSessionSummaryMarkdown;
    /**
     * Generate standardized output path for a test using the new output system
     */
    generateOutputPath(sessionId: string, testType: string, context: OutputContext): string;
    /**
     * Save test output using the standardized output handler
     */
    saveTestOutput(content: string | Buffer, sessionId: string, testType: string, context: OutputContext): Promise<{
        success: boolean;
        outputPath?: string;
        error?: string;
    }>;
    /**
     * Get the output handler for direct access when needed
     */
    getOutputHandler(): StandardTestOutputHandler;
    /**
     * Create a standardized test result using the output system
     */
    createStandardTestResult(testType: string, status?: 'success' | 'failed' | 'pending', outputPath?: string, error?: string): TestResult;
    /**
     * Filter test results by output type for better organization
     */
    filterTestResultsByOutputType(results: TestResult[], outputType: 'per-page' | 'site-wide'): TestResult[];
    /**
     * Group per-page test results by page for organized reporting
     */
    groupPerPageResultsByPage(results: TestResult[]): Map<string, TestResult[]>;
}
//# sourceMappingURL=session-manager.d.ts.map