import { type Ref } from 'vue'; declare const _default: import("vue").DefineComponent, unknown, unknown, string, boolean>; layer: import("ll-plus/es/utils").EpPropFinalized; image: import("ll-plus/es/utils").EpPropFinalized; width: import("ll-plus/es/utils").EpPropFinalized; height: import("ll-plus/es/utils").EpPropFinalized; rotate: import("ll-plus/es/utils").EpPropFinalized; zIndex: import("ll-plus/es/utils").EpPropFinalized; gap: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; offset: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; fontSize: import("ll-plus/es/utils").EpPropFinalized; fontColor: import("ll-plus/es/utils").EpPropFinalized; textAlpha: import("ll-plus/es/utils").EpPropFinalized; fontFamily: import("ll-plus/es/utils").EpPropFinalized; fontWeight: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, string, boolean>; imageZoom: import("ll-plus/es/utils").EpPropFinalized; imageOpacity: import("ll-plus/es/utils").EpPropFinalized; monitor: import("ll-plus/es/utils").EpPropFinalized; responsive: import("ll-plus/es/utils").EpPropFinalized; single: import("ll-plus/es/utils").EpPropFinalized; singleScale: import("ll-plus/es/utils").EpPropFinalized; position: import("ll-plus/es/utils").EpPropFinalized; }>, { bem: { b: (blockSuffix?: string) => string; e: (element?: string) => string; m: (modifier?: string) => string; be: (blockSuffix?: string, element?: string) => string; em: (element: string, modifier: string) => string; bm: (blockSuffix: string, modifier: string) => string; bem: (blockSuffix: string, element: string, modifier: string) => string; is: (name?: string) => string; }; props: import("@vue/shared").LooseRequired, unknown, unknown, string, boolean>; layer: import("ll-plus/es/utils").EpPropFinalized; image: import("ll-plus/es/utils").EpPropFinalized; width: import("ll-plus/es/utils").EpPropFinalized; height: import("ll-plus/es/utils").EpPropFinalized; rotate: import("ll-plus/es/utils").EpPropFinalized; zIndex: import("ll-plus/es/utils").EpPropFinalized; gap: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; offset: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; fontSize: import("ll-plus/es/utils").EpPropFinalized; fontColor: import("ll-plus/es/utils").EpPropFinalized; textAlpha: import("ll-plus/es/utils").EpPropFinalized; fontFamily: import("ll-plus/es/utils").EpPropFinalized; fontWeight: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, string, boolean>; imageZoom: import("ll-plus/es/utils").EpPropFinalized; imageOpacity: import("ll-plus/es/utils").EpPropFinalized; monitor: import("ll-plus/es/utils").EpPropFinalized; responsive: import("ll-plus/es/utils").EpPropFinalized; single: import("ll-plus/es/utils").EpPropFinalized; singleScale: import("ll-plus/es/utils").EpPropFinalized; position: import("ll-plus/es/utils").EpPropFinalized; }>> & Readonly<{}> & {}>; containerRef: Ref; watermarkRef: Ref; observer: Ref; resizeObserver: Ref; cleanupFunctions: (() => void)[]; updateTimer: number; isUpdating: boolean; positionMap: { topLeft: string; top: string; topRight: string; leftTop: string; left: string; leftBottom: string; rightTop: string; right: string; rightBottom: string; bottomLeft: string; bottom: string; bottomRight: string; center: string; }; calculateWatermarkSize: (ctx: CanvasRenderingContext2D) => { width: number; height: number; }; createDiamondPattern: (watermarkPattern: string, unitWidth: number, unitHeight: number) => Promise; generateWatermarkPattern: () => Promise<{ dataURL: string; width: number; height: number; }>; loadImage: (src: string) => Promise; hexToRgba: (hex: string, alpha: number) => string; setupMutationObserver: () => void; setupResponsive: () => void; destroyWatermark: (immediate?: boolean) => void; removeWatermarkDOM: () => void; createWatermark: () => Promise; debouncedUpdate: () => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly, unknown, unknown, string, boolean>; layer: import("ll-plus/es/utils").EpPropFinalized; image: import("ll-plus/es/utils").EpPropFinalized; width: import("ll-plus/es/utils").EpPropFinalized; height: import("ll-plus/es/utils").EpPropFinalized; rotate: import("ll-plus/es/utils").EpPropFinalized; zIndex: import("ll-plus/es/utils").EpPropFinalized; gap: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; offset: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, () => number[], boolean>; fontSize: import("ll-plus/es/utils").EpPropFinalized; fontColor: import("ll-plus/es/utils").EpPropFinalized; textAlpha: import("ll-plus/es/utils").EpPropFinalized; fontFamily: import("ll-plus/es/utils").EpPropFinalized; fontWeight: import("ll-plus/es/utils").EpPropFinalized, unknown, unknown, string, boolean>; imageZoom: import("ll-plus/es/utils").EpPropFinalized; imageOpacity: import("ll-plus/es/utils").EpPropFinalized; monitor: import("ll-plus/es/utils").EpPropFinalized; responsive: import("ll-plus/es/utils").EpPropFinalized; single: import("ll-plus/es/utils").EpPropFinalized; singleScale: import("ll-plus/es/utils").EpPropFinalized; position: import("ll-plus/es/utils").EpPropFinalized; }>> & Readonly<{}>, { content: import("ll-plus/es/utils").EpPropMergeType, unknown, unknown>; offset: number[]; width: number; height: number; fontFamily: string; fontSize: number; fontWeight: import("ll-plus/es/utils").EpPropMergeType, unknown, unknown>; position: string; rotate: number; zIndex: number; gap: number[]; responsive: import("ll-plus/es/utils").EpPropMergeType; image: string; layer: import("ll-plus/es/utils").EpPropMergeType; single: import("ll-plus/es/utils").EpPropMergeType; fontColor: string; textAlpha: number; imageZoom: number; imageOpacity: number; monitor: import("ll-plus/es/utils").EpPropMergeType; singleScale: number; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; export default _default;