import { type StyleValue } from 'vue';
import type { LightboxItemInput } from '../BccLightbox/types';
export type { LightboxItem, LightboxItemInput, LightboxMediaType } from '../BccLightbox/types';
export type ImageProps = {
    /** Image URL for the thumbnail and lightbox (when `imgs` is not set). */
    src?: string;
    /** Enables click-to-preview in the global lightbox. */
    preview?: boolean;
    /** Inline style applied to the thumbnail `<img>`. */
    imageStyle?: StyleValue;
    /** Class applied to the thumbnail `<img>`. */
    imageClass?: string | Record<string, boolean> | Array<string | Record<string, boolean>>;
    /** Gallery items for the lightbox. Falls back to `src` when omitted. */
    imgs?: LightboxItemInput[];
    /** Index of the item shown when the lightbox opens. */
    index?: number;
    /** Allow looping when navigating a gallery. */
    loop?: boolean;
    /** Close the lightbox when clicking the backdrop. */
    maskClosable?: boolean;
    /** Accessible label for the preview trigger button. */
    previewAriaLabel?: string;
};
declare var __VLS_1: {}, __VLS_3: {}, __VLS_5: {};
type __VLS_Slots = {} & {
    image?: (props: typeof __VLS_1) => any;
} & {
    previewicon?: (props: typeof __VLS_3) => any;
} & {
    indicatoricon?: (props: typeof __VLS_5) => any;
};
declare const __VLS_base: import("vue").DefineComponent<ImageProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    error: (event: Event) => any;
    show: () => any;
    hide: () => any;
}, string, import("vue").PublicProps, Readonly<ImageProps> & Readonly<{
    onError?: ((event: Event) => any) | undefined;
    onShow?: (() => any) | undefined;
    onHide?: (() => any) | undefined;
}>, {
    index: number;
    loop: boolean;
    maskClosable: boolean;
    preview: boolean;
    previewAriaLabel: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
declare const _default: typeof __VLS_export;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
