import { QrConfig, QrResult, QrDownloadOptions, QrShareOptions, QR_PRESETS } from './types'; import * as i0 from "@angular/core"; /** * QrGeneratorService * * A comprehensive service for generating, customizing, and manipulating QR codes. * Uses qr-code-styling library for high-quality, customizable QR code generation. * * @example Basic usage * ```typescript * const qr = await this.qrService.generate({ data: 'https://example.com' }); * console.log(qr.dataUrl); // base64 image * ``` * * @example With customization * ```typescript * const qr = await this.qrService.generate({ * data: 'https://example.com', * width: 400, * dotsStyle: 'rounded', * dotsColor: '#3880ff', * logo: { src: 'logo.png', width: 60 } * }); * ``` * * @example Using presets * ```typescript * const qr = await this.qrService.generateFromPreset('modern', 'https://example.com'); * ``` */ export declare class QrGeneratorService { /** * Generate a QR code with the given configuration. * * @param config - QR code configuration * @returns Promise - Generated QR code result * * @example * ```typescript * const qr = await this.qrService.generate({ * data: 'https://myapp.com/product/123', * width: 300, * dotsStyle: 'rounded', * dotsColor: '#000000', * backgroundColor: '#ffffff' * }); * ``` */ generate(config: QrConfig): Promise; /** * Generate a QR code using a preset configuration. * * @param preset - Preset name ('default', 'rounded', 'dots', 'classy', 'modern') * @param data - Data to encode * @param overrides - Optional configuration overrides * @returns Promise */ generateFromPreset(preset: keyof typeof QR_PRESETS | string, data: string, overrides?: Partial): Promise; /** * Download the QR code as a file. * * @param qr - QR result to download * @param options - Download options */ download(qr: QrResult, options?: QrDownloadOptions): Promise; /** * Copy the QR code to clipboard as an image. * * @param qr - QR result to copy * @returns Promise - Whether copy was successful */ copyToClipboard(qr: QrResult): Promise; /** * Share the QR code using Web Share API. * * @param qr - QR result to share * @param options - Share options * @returns Promise - Whether share was successful */ share(qr: QrResult, options?: QrShareOptions): Promise; /** * Get the QR code as a base64 string (without data URL prefix). * * @param qr - QR result * @returns Base64 string */ toBase64(qr: QrResult): string; /** * Get the QR code as a data URL. * * @param qr - QR result * @returns Data URL string */ toDataUrl(qr: QrResult): string; /** * Get the QR code as a Blob. * * @param qr - QR result * @returns Blob */ toBlob(qr: QrResult): Blob; /** * Check if Web Share API is available. */ canShare(): boolean; /** * Check if Clipboard API is available for images. */ canCopyToClipboard(): boolean; private buildColorOptions; private getMimeType; private blobToDataUrl; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }