import type { CoreSrcSet } from 'twitch-core-ui'; export * from './constants'; export interface SrcAndSrcSet { src: string; srcSet: CoreSrcSet | undefined; } export declare function buildStringFromTemplate(template: string, width: number, height: number): string; export declare const EMPTY_SRC_AND_SRC_SET: Readonly; /** * Computes an image src and srcSet for a provided image template src containing * "{width}" and "{height}" placeholders for consumption by a CoreImage components. * * Note: * Even though we're generally delegating the final element construction to * core-ui's CoreImage, the correct order to get proper responsive behavior * in all browsers is sizes > srcSet > src, and thus we mirror that here */ export declare function getSrcAndSrcSet(imageTemplate: string | null | undefined, imageWidths: number[], aspectRatio: number): SrcAndSrcSet; export declare function getSrc(imageTemplate: string | null | undefined, imageWidthPx: number, aspectRatio: number): string; export declare function getBoxArtSrcAndSrcSet(imageTemplate: string | null | undefined, opts?: { fallback: false; }): SrcAndSrcSet; export declare function getBoxArtSrc(imageTemplate: string | null | undefined, widthPx: number, opts?: { fallback: false; }): string; /** * Generates a src+srcSet object from a channel thumbnail src template */ export declare function getChannelThumbnailSrcAndSrcSet(imageTemplate: string | null | undefined, opts?: { fallback: false; }): SrcAndSrcSet; /** * Generates a src string from a channel thumbnail src template for a given * width. Generally `getChannelThumbnailSrcAndSrcSet` should be used for general * use cases, with this reserved for special exceptions. */ export declare function getChannelThumbnailSrc(imageTemplate: string | null | undefined, widthPx: number, opts?: { fallback: false; }): string; export declare function getOverlaySrcAndSrcSet(imageURL: string | null): SrcAndSrcSet; export declare function getOverlayImageTemplate(imageURL: string): string; /** * The API to retrieve a channel's banner image URL does not currently support * returning a template string, but banner images do support this convention. Therefore, * we manually assemble the template string so we can consume it via our srcSet utils. */ export declare function getChannelBannerImageTemplate(imageURL: string): string; export declare function getChannelBannerSrcAndSrcSet(bannerImageURL: string): SrcAndSrcSet; //# sourceMappingURL=index.d.ts.map