/** * Safari Web Extension utilities * * Generates web resources and Swift handler for Safari extensions */ /** * Generate SafariWebExtensionHandler.swift * This handles native message passing from JavaScript */ export declare function generateSafariSwiftHandler(targetName: string): string; /** * Check if user has provided a custom Safari Swift handler */ export declare function hasUserSafariSwiftHandler(targetDirectory: string): boolean; /** * Write Safari Swift handler to the build directory (if user hasn't provided one) * Returns the path to the Swift file (either user's or generated) */ export declare function ensureSafariSwiftHandler(targetDirectory: string, targetBuildPath: string, targetName: string): { path: string; isGenerated: boolean; }; export interface SafariManifestConfig { name: string; version?: string; description?: string; permissions?: string[]; content_scripts?: { matches: string[]; js?: string[]; css?: string[]; }[]; icons?: Record; } export declare function generatePopupHtml(outputPath: string, targetName: string): void; /** * Generate manifest.json for Safari extension */ export declare function generateManifest(outputPath: string, config: SafariManifestConfig): void; /** * Generate a minimal background.js for Safari extension */ export declare function generateBackgroundScript(outputPath: string): void; /** * Generate placeholder popup.js * This will be replaced by the actual bundle during build */ export declare function generatePlaceholderPopupScript(outputPath: string, targetName: string): void; /** * Generate placeholder icons for Safari extension */ export declare function generatePlaceholderIcons(resourcesPath: string): void; /** * Generate all Safari web extension resources */ export declare function plannedSafariOverwriteFiles(resourcesPath: string, config: { name: string; displayName?: string; manifest?: Partial; }): Array<{ filePath: string; content: string; }>; /** * Generate all Safari web extension resources */ export declare function generateSafariResources(resourcesPath: string, config: { name: string; displayName?: string; manifest?: Partial; }): void; /** * Check if user has provided custom Safari Resources */ export declare function hasCustomSafariResources(targetDirectory: string): boolean; //# sourceMappingURL=safari.d.ts.map