export type { ExtendedImageRenderContext } from './component';
export {
  // Main render function
  renderImgComponent,
  // Template parser
  parseImgComponent,
  processImgComponents,
} from './component';
export {
  // Directive factory
  createImgDirective,
  // Directive instance
  imgDirective,
} from './directive';
export {
  // Constants
  DEFAULT_WIDTHS,
  DEFAULT_DPR_VALUES,
  DEFAULT_FORMATS,
  MIME_TYPES,
  FORMAT_EXTENSIONS,
  COMMON_SIZES,

  // Width-based srcset
  generateWidthSrcset,
  generateAutoWidthSrcset,
  calculateOptimalWidths,

  // DPR-based srcset
  generateDprSrcset,
  generateDprSrcsetWithVariableQuality,

  // Sizes attribute
  generateSizesAttribute,
  generateSizesFromBreakpoints,

  // URL building
  buildImageUrl,
  parseImageUrl,

  // Full srcset generation
  generateSrcsetData,
  generateSourceTags,

  // Utilities
  getBestVariant,
  getFallbackVariant,
  groupVariantsByFormat,
  getMimeType,
  getFormatExtension,
  detectFormat,
} from './srcset';
export {
  // Constants
  DEFAULT_PLACEHOLDER_OPTIONS,
  BLUR_UP_CSS,

  // Generation
  generatePlaceholder,
  generateThumbhashPlaceholder,
  generateLQIP,
  extractDominantColor,
  generateColorPlaceholder,

  // Thumbhash
  decodeThumbhash,

  // CSS
  generatePlaceholderCSS,
  generatePlaceholderStyle,

  // Cache
  getCachedPlaceholder,
  clearPlaceholderCache,
  getPlaceholderCacheStats,
} from './placeholder';
export {
  // URL building
  buildImageUrl as buildUrl,
  parseImageUrl as parseUrl,
  mergeParams,

  // Convenience functions
  resize,
  crop,
  thumbnail,
  contain,
  cover,
  blur,
  sharpen,
  grayscale,
  sepia,
  invert,
  brightness,
  contrast,
  saturation,
  rotate,
  flipHorizontal,
  flipVertical,
  format,
  quality,
  auto,

  // Watermark
  watermark,

  // Presets
  PRESETS,
  applyPreset,

  // Responsive helpers
  srcsetUrls,
  dprUrls,

  // Validation
  validateParams,
  sanitizeParams,
} from './editing';