import type { InitializeEmitter, OperationState } from 'balena-device-init'; import type * as BalenaSdk from 'balena-sdk'; import type { Application, Pine } from 'balena-sdk'; export declare function getGroupDefaults(group: { options: Array<{ name: string; default: string | number; }>; }): { [name: string]: string | number | undefined; }; export declare function stateToString(state: OperationState): string; export declare function sudo(command: string[], { stderr, msg, isCLIcmd, }?: { stderr?: NodeJS.WritableStream; msg?: string; isCLIcmd?: boolean; }): Promise; export declare function runCommand(commandArgs: string[]): Promise; export declare function getManifest(image: string, deviceType: string): Promise; export declare const areDeviceTypesCompatible: (appDeviceTypeSlug: string, osDeviceTypeSlug: string) => Promise; export declare function osProgressHandler(step: InitializeEmitter): Promise; declare const appWithArchOptions: { readonly $expand: { readonly application_type: { readonly $select: readonly ["name", "slug", "supports_multicontainer"]; }; readonly is_for__device_type: { readonly $select: "slug"; readonly $expand: { readonly is_of__cpu_architecture: { readonly $select: "slug"; }; }; }; }; }; export interface AppWithArch extends NonNullable> { arch: string; } export declare function getAppWithArch(applicationName: string): Promise; export declare const delay: typeof import("timers/promises").setTimeout; export declare function retry({ func, maxAttempts, label, initialDelayMs, backoffScaler, maxSingleDelayMs, }: { func: () => T; maxAttempts: number; label: string; initialDelayMs?: number; backoffScaler?: number; maxSingleDelayMs?: number; }): Promise; export declare function isWindowsComExeShell(): boolean | undefined; export declare function shellEscape(args: string[], detectShell?: boolean): Promise; export interface ProxyConfig { host: string; port: string; username?: string; password?: string; proxyAuth?: string; } export declare function getProxyConfig(): ProxyConfig | undefined; export declare const expandForAppName: { readonly $expand: { readonly belongs_to__application: { readonly $select: readonly ["app_name", "slug"]; }; readonly is_of__device_type: { readonly $select: "slug"; }; readonly is_running__release: { readonly $select: "commit"; }; }; }; export declare function addSIGINTHandler(sigintHandler: () => void, once?: boolean): void; export declare function awaitInterruptibleTask Promise>(task: T, ...theArgs: Parameters): Promise>; export declare function pickAndRename>(obj: T, fields: string[]): Dictionary; export declare const defaultValues: (obj: Record, defaultValue: U) => Record | U>; export declare const pick: (obj: T, keys: U[]) => Pick; export {};