import type { ExtensionConfig, FirefoxAddonsConfig } from './types'; export declare function firefoxSignArgs(options: FirefoxSignArgsOptions): string[]; /** Metadata accepted by AMO v5 when web-ext creates the first listed version. */ export declare function firefoxListingMetadata(config: ExtensionConfig, store: FirefoxAddonsConfig): Record | undefined; /** * Resolve web-ext from PATH, or from wherever the app installed it. * * web-ext is an optional peer dependency: it is only needed to sign and * submit a Firefox build, so extensions targeting Chrome or Safari (and every * app that never builds an extension at all) skip a ~40MB install. */ export declare function resolveWebExtExecutable(which?: (command: string) => string | null, resolvePackage?: (specifier: string) => string): string | undefined; /** Build and submit a Firefox extension through Mozilla's official web-ext/AMO v5 flow. */ export declare function publishFirefoxExtension(config: ExtensionConfig, options: FirefoxPublishOptions): Promise; export declare interface FirefoxAddonsAuth { issuer?: string secret?: string } export declare interface FirefoxPublishOptions extends FirefoxAddonsAuth { version: string cwd?: string build?: boolean sourceCodePath?: string timeout?: number approvalTimeout?: number } export declare interface FirefoxPublishResult { artifactsDir: string artifacts: string[] channel: 'listed' | 'unlisted' } declare interface FirefoxSignArgsOptions { executable: string sourceDir: string artifactsDir: string channel: 'listed' | 'unlisted' timeout: number approvalTimeout: number }