/**
 * Standardized browser API mocks for testing
 * Provides reusable mocking utilities for localStorage, sessionStorage, window.matchMedia, and other browser APIs
 */
/**
 * Creates a mock for localStorage/sessionStorage with common methods
 */
export declare function createStorageMock(): {
    getItem: import("vitest").Mock<(...args: any[]) => any>;
    setItem: import("vitest").Mock<(...args: any[]) => any>;
    removeItem: import("vitest").Mock<(...args: any[]) => any>;
    clear: import("vitest").Mock<(...args: any[]) => any>;
    key: import("vitest").Mock<(...args: any[]) => any>;
    length: number;
};
/**
 * Creates a mock for window.matchMedia
 */
export declare function createMatchMediaMock(matches?: boolean): import("vitest").Mock<(...args: any[]) => any>;
/**
 * Creates a comprehensive set of browser API mocks
 */
export declare function createBrowserMocks(): {
    localStorage: {
        getItem: import("vitest").Mock<(...args: any[]) => any>;
        setItem: import("vitest").Mock<(...args: any[]) => any>;
        removeItem: import("vitest").Mock<(...args: any[]) => any>;
        clear: import("vitest").Mock<(...args: any[]) => any>;
        key: import("vitest").Mock<(...args: any[]) => any>;
        length: number;
    };
    sessionStorage: {
        getItem: import("vitest").Mock<(...args: any[]) => any>;
        setItem: import("vitest").Mock<(...args: any[]) => any>;
        removeItem: import("vitest").Mock<(...args: any[]) => any>;
        clear: import("vitest").Mock<(...args: any[]) => any>;
        key: import("vitest").Mock<(...args: any[]) => any>;
        length: number;
    };
    matchMedia: import("vitest").Mock<(...args: any[]) => any>;
    getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
    ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
    IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
 * Sets up browser API mocks on the global window object
 */
export declare function setupBrowserMocks(): {
    localStorage: {
        getItem: import("vitest").Mock<(...args: any[]) => any>;
        setItem: import("vitest").Mock<(...args: any[]) => any>;
        removeItem: import("vitest").Mock<(...args: any[]) => any>;
        clear: import("vitest").Mock<(...args: any[]) => any>;
        key: import("vitest").Mock<(...args: any[]) => any>;
        length: number;
    };
    sessionStorage: {
        getItem: import("vitest").Mock<(...args: any[]) => any>;
        setItem: import("vitest").Mock<(...args: any[]) => any>;
        removeItem: import("vitest").Mock<(...args: any[]) => any>;
        clear: import("vitest").Mock<(...args: any[]) => any>;
        key: import("vitest").Mock<(...args: any[]) => any>;
        length: number;
    };
    matchMedia: import("vitest").Mock<(...args: any[]) => any>;
    getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
    ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
    IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
};
/**
 * Clears all browser API mocks
 */
export declare function clearBrowserMocks(): void;
/**
 * Theme-specific mocking utilities
 */
export declare const themeMocks: {
    /**
     * Sets up theme-related mocks for light mode
     */
    setupLightTheme(): {
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
    /**
     * Sets up theme-related mocks for dark mode
     */
    setupDarkTheme(): {
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
    /**
     * Sets up theme-related mocks for auto mode with system preference
     */
    setupAutoTheme(systemPrefersDark?: boolean): {
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
};
/**
 * Modal-specific mocking utilities
 */
export declare const modalMocks: {
    /**
     * Sets up mocks for modal components
     */
    setup(): {
        focus: import("vitest").Mock<(...args: any[]) => any>;
        blur: import("vitest").Mock<(...args: any[]) => any>;
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
};
/**
 * Tooltip-specific mocking utilities
 */
export declare const tooltipMocks: {
    /**
     * Sets up mocks for tooltip components
     */
    setup(): {
        getBoundingClientRect: import("vitest").Mock<(...args: any[]) => any>;
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
};
/**
 * TipTap/ProseMirror-specific mocking utilities for editor components
 */
export declare const editorMocks: {
    /**
     * Sets up comprehensive mocks for TipTap/ProseMirror editor functionality
     */
    setup(): {
        cleanup: () => void;
        localStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        sessionStorage: {
            getItem: import("vitest").Mock<(...args: any[]) => any>;
            setItem: import("vitest").Mock<(...args: any[]) => any>;
            removeItem: import("vitest").Mock<(...args: any[]) => any>;
            clear: import("vitest").Mock<(...args: any[]) => any>;
            key: import("vitest").Mock<(...args: any[]) => any>;
            length: number;
        };
        matchMedia: import("vitest").Mock<(...args: any[]) => any>;
        getComputedStyle: import("vitest").Mock<(...args: any[]) => any>;
        ResizeObserver: import("vitest").Mock<(...args: any[]) => any>;
        IntersectionObserver: import("vitest").Mock<(...args: any[]) => any>;
    };
    /**
     * Creates a mock editor element suitable for TipTap initialization
     */
    createEditorElement(): HTMLDivElement;
    /**
     * Creates mock editor configuration for testing
     */
    createEditorConfig(overrides?: any): any;
};
/**
 * Test utilities for component state management
 */
export declare const componentMocks: {
    /**
     * Cleans up theme manager and other global component state
     */
    cleanupThemeManager(): void;
};
//# sourceMappingURL=browser-mocks.d.ts.map