image-config.d.ts 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. export declare const VALID_LOADERS: readonly ["default", "imgix", "cloudinary", "akamai", "custom"];
  2. export declare type LoaderValue = typeof VALID_LOADERS[number];
  3. export declare type RemotePattern = {
  4. /**
  5. * Must be `http` or `https`.
  6. */
  7. protocol?: 'http' | 'https';
  8. /**
  9. * Can be literal or wildcard.
  10. * Single `*` matches a single subdomain.
  11. * Double `**` matches any number of subdomains.
  12. */
  13. hostname: string;
  14. /**
  15. * Can be literal port such as `8080` or empty string
  16. * meaning no port.
  17. */
  18. port?: string;
  19. /**
  20. * Can be literal or wildcard.
  21. * Single `*` matches a single path segment.
  22. * Double `**` matches any number of path segments.
  23. */
  24. pathname?: string;
  25. };
  26. declare type ImageFormat = 'image/avif' | 'image/webp';
  27. /**
  28. * Image configurations
  29. *
  30. * @see [Image configuration options](https://nextjs.org/docs/api-reference/next/image#configuration-options)
  31. */
  32. export declare type ImageConfigComplete = {
  33. /** @see [Device sizes documentation](https://nextjs.org/docs/api-reference/next/image#device-sizes) */
  34. deviceSizes: number[];
  35. /** @see [Image sizing documentation](https://nextjs.org/docs/basic-features/image-optimization#image-sizing) */
  36. imageSizes: number[];
  37. /** @see [Image loaders configuration](https://nextjs.org/docs/basic-features/image-optimization#loaders) */
  38. loader: LoaderValue;
  39. /** @see [Image loader configuration](https://nextjs.org/docs/api-reference/next/image#loader-configuration) */
  40. path: string;
  41. /**
  42. * @see [Image domains configuration](https://nextjs.org/docs/api-reference/next/image#domains)
  43. */
  44. domains: string[];
  45. /** @see [Disable static image import configuration](https://nextjs.org/docs/api-reference/next/image#disable-static-imports) */
  46. disableStaticImages: boolean;
  47. /** @see [Cache behavior](https://nextjs.org/docs/api-reference/next/image#caching-behavior) */
  48. minimumCacheTTL: number;
  49. /** @see [Acceptable formats](https://nextjs.org/docs/api-reference/next/image#acceptable-formats) */
  50. formats: ImageFormat[];
  51. /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */
  52. dangerouslyAllowSVG: boolean;
  53. /** @see [Dangerously Allow SVG](https://nextjs.org/docs/api-reference/next/image#dangerously-allow-svg) */
  54. contentSecurityPolicy: string;
  55. /** @see [Remote Patterns](https://nextjs.org/docs/api-reference/next/image#remote-patterns) */
  56. remotePatterns: RemotePattern[];
  57. /** @see [Unoptimized](https://nextjs.org/docs/api-reference/next/image#unoptimized) */
  58. unoptimized: boolean;
  59. };
  60. export declare type ImageConfig = Partial<ImageConfigComplete>;
  61. export declare const imageConfigDefault: ImageConfigComplete;
  62. export {};