import type { ParsedArgs } from './commands'; export declare const updateHostSchema: import("./boundaryDecoder").BoundarySchema<{ readonly protocol: 1; readonly machine: string; readonly bootId: string; readonly pid: number; readonly executable: string; readonly version: string; readonly paneDir: string; readonly userData: string; readonly packaged: boolean; readonly remoteEnabled: boolean; readonly remoteHealthy: boolean; readonly endpointFingerprint: string; readonly active: number; readonly idle: number; readonly blocked: number; }>; export type UpdateHost = ReturnType; interface UpdateCliInstallation { owner: 'managed' | 'npm' | 'pip'; pipUser?: boolean; entrypoint: string; version: string; prefix: string; packageManager?: string; } export interface UpdatePreflight { machine: string; paneDir: string; scope: 'both' | 'pane' | 'cli'; requestedVersion: string; host: UpdateHost | null; cli: UpdateCliInstallation | null; runtimeSource: string; npmSource?: string; lockDirectory: string; additionalLockDirectories: string[]; limitations: string[]; disableOsIntegration?: boolean; } /** Exercise directory ACLs too: fs.access(W_OK) does not check Windows ACLs. */ export declare function assertUpdateDirectoryWritable(directory: string): void; /** Refuse options the independent update cannot honor; these are the caller's to fix, so no fallback applies. */ export declare function assertUpdateOptions(parsed: ParsedArgs): void; /** Callers run assertUpdateOptions first: option errors never fall back to the in-app updater. */ export declare function preflightUpdate(parsed: ParsedArgs, scope: UpdatePreflight['scope']): Promise; export {}; //# sourceMappingURL=updatePreflight.d.ts.map