import { WatermarkProps, WatermarkRenderPayload, WatermarkRepeat } from './watermark.js';
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
declare function rerender(): void;
declare function getDataUrl(): string | null;
declare function getTarget(): HTMLElement | null;
declare function removeWatermark(): void;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        default?(_: {}): any;
    };
    refs: {
        wrapperRef: HTMLDivElement;
    };
    rootEl: any;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<WatermarkProps, {
    rerender: typeof rerender;
    getDataUrl: typeof getDataUrl;
    getTarget: typeof getTarget;
    removeWatermark: typeof removeWatermark;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    rendered: (payload: WatermarkRenderPayload) => any;
    "image-error": (event: Event) => any;
}, string, PublicProps, Readonly<WatermarkProps> & Readonly<{
    onRendered?: ((payload: WatermarkRenderPayload) => any) | undefined;
    "onImage-error"?: ((event: Event) => any) | undefined;
}>, {
    zIndex: number;
    content: string | string[];
    disabled: boolean;
    target: string | HTMLElement;
    repeat: WatermarkRepeat;
    fullscreen: boolean;
    opacity: number;
    rotate: number;
    gap: [number, number];
    autoObserve: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    wrapperRef: HTMLDivElement;
}, any>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
