import { IMedia } from '../../Types/Media';
import { ILayout, InputLayoutType, OptionsType } from '../../Types/Layout';
import { IRegion } from "../../Types/Region";
export declare function nextId(options: {
    idCounter: number;
}): number;
export declare const getMediaId: ({ mediaType, containerName }: IMedia) => string;
export declare const capitalizeStr: (inputStr: string) => string;
export declare function getDataBlob(src: string, jwtToken: string | null): Promise<unknown>;
export type MediaTypes = 'video' | 'audio' | 'image';
export declare function preloadMediaBlob(src: string, type: MediaTypes, jwtToken: string | null): Promise<string>;
export declare function fetchJSON(url: string, jwtToken: string | null): Promise<any>;
export declare function fetchText(url: string, jwtToken: string | null): Promise<string>;
export declare function getFileExt(filename: string): string;
export declare function audioFileType(str: string): string | undefined;
export declare function videoFileType(str: string): string | undefined;
export declare function composeResourceUrlByPlatform(options: OptionsType, params: any): string;
export declare function composeResourceUrl(options: OptionsType, params: any): string;
export declare function composeMediaUrl(params: any): string;
export declare function composeBgUrlByPlatform(platform: OptionsType['platform'], params: ILayout): string;
type LayoutIndexType = {
    [k: string]: InputLayoutType & {
        index: number;
    };
};
export declare function getIndexByLayoutId(layoutsInput: InputLayoutType[], layoutId?: number | null): (InputLayoutType & {
    index: number;
}) | LayoutIndexType | {
    index: number;
};
export declare function isEmpty(input: any): boolean;
export declare const splashScreenLayoutObj: InputLayoutType;
export declare function splashScreenDOM(): HTMLImageElement;
export declare function getAllAttributes(elem: Element): {
    [k: string]: any;
};
/**
 * Create expiration day based on current date
 * @param numDays Number of days as expiry
 * @returns JSON string format of date
 */
export declare function setExpiry(numDays: number): string;
/**
 * Check whether a media item is currently within its valid date window.
 * Returns true when the media should be shown, false when it should be skipped.
 *
 * Rules:
 *  - Empty / invalid fromDt  → treat as "no start restriction"
 *  - Empty / invalid toDt    → treat as "no expiry"
 *  - now < fromDt            → not yet active   → skip
 *  - now > toDt              → expired          → skip
 */
export declare function isMediaActive(fromDt: string, toDt: string): boolean;
/**
 * Check if given layout exists in the loop using layoutId
 * @param layouts Schedule loop unique layouts (uniqueLayouts)
 * @param layoutId Layout ID of the layout to look for
 *
 * @return boolean
 */
export declare function isLayoutValid(layouts: InputLayoutType[], layoutId: number | undefined): boolean;
export declare function getLayoutIndexByLayoutId(layouts: InputLayoutType[], layoutId: number): number | null;
export declare function hasDefaultOnly(inputLayouts: InputLayoutType[]): boolean;
export declare function isDefaultLayout(inputLayout: InputLayoutType): boolean;
export declare function hasSspLayout(inputLayouts: InputLayoutType[], defaultValue?: boolean): boolean;
export declare function prepareIframe(media: IMedia): HTMLIFrameElement;
export declare function prepareImage(media: IMedia, container: HTMLElement): HTMLElement;
export declare function prepareVideo(media: IMedia, container: HTMLVideoElement): HTMLVideoElement;
export declare function prepareAudio(media: IMedia, container: HTMLAudioElement): HTMLAudioElement;
export declare function createMediaElement(mediaObject: IMedia): HTMLElement;
export declare function prepareVideoMedia(media: IMedia, region: IRegion): void;
export declare function prepareImageMedia(media: IMedia, region: IRegion): void;
export declare function prepareAudioMedia(media: IMedia, region: IRegion): void;
export declare function prepareHtmlMedia(media: IMedia, region: IRegion): void;
export declare enum FaultCodes {
    FaultVideoSource = 2001,
    FaultVideoUnexpected = 2099
}
export declare function playerReportFault(msg: string, media: IMedia, code?: number): Promise<void>;
export declare function setLayoutIndex(layout: ILayout | undefined, layoutIndex: number): ILayout | undefined;
export {};
