export { getStoryblokImageLoader } from './get-storyblok-image-loader.cjs';
import { S as StoryblokImageFocus, a as StoryblokImageLoaderOptions } from './storyblok-image-loader-options-B8iqfpU0.cjs';
export { b as StoryblokImageFormat, c as StoryblokImageResize } from './storyblok-image-loader-options-B8iqfpU0.cjs';
export { imgSrcIsStoryblok } from './img-src-is-storyblok.cjs';
import { ImageLoader } from 'next/image';

type AssetStoryblok = {
    alt?: string;
    copyright?: string;
    filename: string;
    focus?: StoryblokImageFocus;
    id: number;
    name: string;
    title?: string;
};

/**
 * Get Storyblok image src URL from given asset and options
 * @param image Storyblok asset or image URL
 * @param imageOptions Options for constructing the image URL
 * @returns URL string or undefined if no URL could be constructed
 */
declare function getStoryblokSrc(image: AssetStoryblok | string | undefined, imageOptions?: null | StoryblokImageLoaderOptions): string | undefined;

type ParsedStoryblokSrc = Pick<StoryblokImageLoaderOptions, "focus" | "format" | "quality" | "resize"> & {
    filename: string;
};

declare function parseStoryblokSrc(src: string, options?: StoryblokImageLoaderOptions): ParsedStoryblokSrc;

/**
 * Storyblok image loader for Next.js Image component with default options.
 */
declare const storyblokImageLoader: ImageLoader;

export { type AssetStoryblok, type ParsedStoryblokSrc, StoryblokImageLoaderOptions, getStoryblokSrc, parseStoryblokSrc, storyblokImageLoader };
