import { MediumLightboxCore } from "./core"; export interface GlobalOptions { scrollAllowance: number; duration: number; container?: HTMLElement; lightboxGenerator?: ($img: HTMLElement, opts: ImageOptions, $original: HTMLElement) => HTMLElement; } export interface ImageOptions extends Partial { highres?: string; class?: string; } export interface YamzElement extends HTMLElement { yamzOpts?: ImageOptions; } export declare enum Classes { WRAPPER = "yamz__wrapper", WRAPPER_CLOSING = "yamz__wrapper--closing", IMG_WRAPPER = "yamz__img-wrapper", IMG = "yamz__img", HIGHRES = "yamz__highres", HAS_HIGHRES = "yamz__wrapper--has-highres", HIGHRES_LOADED = "yamz__wrapper--highres-loaded", CAPTION = "yamz__caption", HAS_CAPTION = "yamz__wrapper--has-caption", ORIGINAL = "yamz__original", ORIGINAL_OPEN = "yamz__original--open", LOADER = "yamz__loader", ALBUM_PREV = "yamz__album__prev", ALBUM_NEXT = "yamz__album__next" } export declare enum STATES { Closed = 0, Opening = 1, Open = 2, Closing = 3 } export declare type Subtract = Pick>; declare type Overwrite = Subtract & U; /** * Applies a given Plugin, with its own GlobalOptions and ImageOptions, to an instance of YAMZ */ export declare type YamzPlugin = Overwrite[1] & NewImageOpts, $original: HTMLElement) => HTMLElement; setOptions: (options: Parameters[0] & Partial) => ReturnType; optsFromElm: ($elm: HTMLElement) => ReturnType & NewImageOpts; open: ($img: Parameters[0], opts?: Parameters[1] & NewImageOpts) => ReturnType; replace: ($img: Parameters[0], opts?: Parameters[1] & NewImageOpts) => ReturnType; bind: ($imgs: Parameters[0], opts?: Parameters[1] & NewImageOpts) => ReturnType; options: Yamz["options"] & NewGlobalOpts; }, Plugin>>; export {};