import type { AddLinksPayload, AppSettings, DuplicatePolicy, SessionStats, StartConflictEntry, StartConflictResolutionResult, UiSnapshot, UpdateCheckResult, UpdateInstallProgress, UpdateInstallResult } from "./types"; export interface ElectronApi { getSnapshot: () => Promise; getVersion: () => Promise; checkUpdates: () => Promise; installUpdate: () => Promise; openExternal: (url: string) => Promise; updateSettings: (settings: Partial) => Promise; addLinks: (payload: AddLinksPayload) => Promise<{ addedPackages: number; addedLinks: number; invalidCount: number }>; addContainers: (filePaths: string[]) => Promise<{ addedPackages: number; addedLinks: number }>; getStartConflicts: () => Promise; resolveStartConflict: (packageId: string, policy: DuplicatePolicy) => Promise; clearAll: () => Promise; start: () => Promise; stop: () => Promise; togglePause: () => Promise; cancelPackage: (packageId: string) => Promise; renamePackage: (packageId: string, newName: string) => Promise; reorderPackages: (packageIds: string[]) => Promise; removeItem: (itemId: string) => Promise; togglePackage: (packageId: string) => Promise; exportQueue: () => Promise; importQueue: (json: string) => Promise<{ addedPackages: number; addedLinks: number }>; toggleClipboard: () => Promise; pickFolder: () => Promise; pickContainers: () => Promise; getSessionStats: () => Promise; onStateUpdate: (callback: (snapshot: UiSnapshot) => void) => () => void; onClipboardDetected: (callback: (links: string[]) => void) => () => void; onUpdateInstallProgress: (callback: (progress: UpdateInstallProgress) => void) => () => void; }