import { CloneOptions, WindowOptions } from './dom/document-cloner';
import { RenderOptions } from './render/canvas/canvas-renderer';
import { ContextOptions } from './core/context';
import { Html2CanvasConfig, ConfigOptions } from './config';
import { createDefaultValidator, Validator, ValidationResult } from './core/validator';
import { PerformanceMonitor } from './core/performance-monitor';
export type Options = CloneOptions & WindowOptions & RenderOptions & ContextOptions & {
    backgroundColor: string | null;
    foreignObjectRendering: boolean;
    removeContainer?: boolean;
    cspNonce?: string;
    validator?: Validator;
    skipValidation?: boolean;
    enablePerformanceMonitoring?: boolean;
    /**
     * Enable/disable image smoothing (anti-aliasing) globally.
     * - `false`: Pixel-perfect rendering for pixel art, sprites, and retro graphics
     * - `true`: Smooth rendering for photos and high-quality images
     * - CSS `image-rendering` property on individual elements takes precedence
     * @default true (browser default)
     * @example
     * // Pixel art game screenshot
     * html2canvas(element, { imageSmoothing: false, scale: 2 });
     *
     * // High-quality photo
     * html2canvas(element, { imageSmoothing: true, imageSmoothingQuality: 'high' });
     */
    imageSmoothing?: boolean;
    /**
     * Image smoothing quality level when imageSmoothing is enabled.
     * - `'low'`: Faster, lower quality (good for preview)
     * - `'medium'`: Balanced (default in most browsers)
     * - `'high'`: Slower, best quality (good for final export)
     *
     * Browser support: Chrome 54+, Firefox 94+, Safari 17+
     * Falls back gracefully in older browsers.
     * @default browser default (usually 'low' or 'medium')
     */
    imageSmoothingQuality?: 'low' | 'medium' | 'high';
};
/**
 * Main html2canvas function with improved configuration management
 *
 * @param element - Element to render
 * @param options - Rendering options
 * @param config - Optional configuration (for advanced use cases)
 * @returns Promise resolving to rendered canvas
 */
declare const html2canvas: {
    (element: HTMLElement, options?: Partial<Options>, config?: Html2CanvasConfig): Promise<HTMLCanvasElement>;
    setCspNonce: (nonce: string) => void;
};
/**
 * Set CSP nonce for inline styles
 * @deprecated Use options.cspNonce instead
 */
declare const setCspNonce: (nonce: string) => void;
export default html2canvas;
export { html2canvas, setCspNonce, Html2CanvasConfig, ConfigOptions, Validator, ValidationResult, createDefaultValidator, PerformanceMonitor };
export { IMAGE_RENDERING } from './css/property-descriptors/image-rendering';
