import type { AnyAddonManifest, CheckResultSuccess } from "src/types"; export declare const INSTALLER_SOURCES: readonly ["store", "github"]; export type InstallerSource = (typeof INSTALLER_SOURCES)[number]; export declare function isValidSource(type: string): type is InstallerSource; export interface InstallLinkProps { /** Identifier for the addon in the source */ identifier: string; /** Updater source type */ source?: InstallerSource; /** ID for the addon in that source. Useful for GitHub repositories that have multiple addons. */ id?: string; } export declare function parseInstallLink(href: string): InstallLinkProps | null; export declare function getInfo(identifier: string, source?: InstallerSource, id?: string): Promise; export declare function checkIsInstalled(data: CheckResultSuccess): boolean; export declare function loadNew(data: CheckResultSuccess): Promise; export declare function install(data: CheckResultSuccess): Promise; export declare function authorList(authors: string[]): string; export type InstallResponse = { kind: "SUCCESS"; manifest: AnyAddonManifest; } | { kind: "FAILED"; manifest?: AnyAddonManifest; } | { kind: "ALREADY_INSTALLED"; manifest: AnyAddonManifest; } | { kind: "CANCELLED"; manifest: AnyAddonManifest; }; /** * * @param identifier Identifier for the addon in that source * @param source Updater source type * @param id Optional ID for the addon in that source. Useful for GitHub repositories that have multiple addons. * @param showToasts Whether to show toasts (default: true) * @param linkToStore Whether to link to the store page (default: true) * @returns */ export declare function installFlow(identifier: string, source?: InstallerSource, id?: string, showToasts?: boolean, linkToStore?: boolean): Promise;