balena-sdk
Version:
The Balena JavaScript SDK
388 lines (387 loc) • 34.5 kB
TypeScript
import type { InjectedDependenciesParam, InjectedOptionsParam } from '..';
declare const _default: (deps: InjectedDependenciesParam, opts: InjectedOptionsParam) => {
application: {
_getId: (slugOrUuidOrId: string | number) => Promise<number>;
getDashboardUrl(id: number): string;
getAll(options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application[]>;
getAllDirectlyAccessible(options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application[]>;
getAllByOrganization(orgHandleOrId: number | string, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application[]>;
get(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application>;
getDirectlyAccessible(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application>;
getWithDeviceServiceDetails(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Application>): Promise<import("..").Application & {
owns__device: Array<import("..").DeviceWithServiceDetails<import("..").CurrentServiceWithCommit>>;
}>;
getAppByName(appName: string, options?: import("..").PineOptions<import("..").Application>, context?: "directly_accessible"): Promise<import("..").Application>;
has: (slugOrUuidOrId: string | number) => Promise<boolean>;
hasAny: () => Promise<boolean>;
create({ name, uuid, applicationClass, deviceType, organization, }: {
name: string;
uuid?: string;
applicationClass?: "app" | "fleet" | "block";
deviceType: string;
organization: number | string;
}): Promise<import("..").PinePostResult<import("..").Application>>;
remove: (slugOrUuidOrIdOrIds: string | number | number[]) => Promise<void>;
rename: (slugOrUuidOrId: string | number, newAppName: string) => Promise<void>;
restart: (slugOrUuidOrId: string | number) => Promise<void>;
generateProvisioningKey: ({ slugOrUuidOrId, keyExpiryDate, keyName, keyDescription, }: {
slugOrUuidOrId: string | number;
keyExpiryDate: string | null;
keyName?: string;
keyDescription?: string;
}) => Promise<string>;
purge: (appId: number) => Promise<void>;
shutdown: (appId: number, options?: {
force?: boolean;
}) => Promise<void>;
reboot: (appId: number, options?: {
force?: boolean;
}) => Promise<void>;
willTrackNewReleases: (slugOrUuidOrId: string | number) => Promise<boolean>;
isTrackingLatestRelease: (slugOrUuidOrId: string | number) => Promise<boolean>;
pinToRelease: (slugOrUuidOrId: string | number, fullReleaseHash: string) => Promise<void>;
getTargetReleaseHash: (slugOrUuidOrId: string | number) => Promise<string | undefined>;
trackLatestRelease: (slugOrUuidOrId: string | number) => Promise<void>;
enableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
disableDeviceUrls: (slugOrUuidOrId: string | number) => Promise<void>;
grantSupportAccess(slugOrUuidOrId: string | number, expiryTimestamp: number): Promise<void>;
revokeSupportAccess: (slugOrUuidOrId: string | number) => Promise<void>;
tags: {
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationTag> | undefined) => Promise<import("..").ApplicationTag[]>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
configVar: {
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationVariable> | undefined) => Promise<import("..").ApplicationVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
envVar: {
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ApplicationVariable> | undefined) => Promise<import("..").ApplicationVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
buildVar: {
getAllByApplication: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").BuildVariable> | undefined) => Promise<import("..").BuildVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
membership: {
get(membershipId: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership>;
getAllByApplication(slugOrUuidOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
getAllByUser(usernameOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationMembership>): Promise<import("..").ApplicationMembership[]>;
create({ application, username, roleName, }: import("./application-membership").ApplicationMembershipCreationOptions): Promise<import("..").PinePostResult<import("..").ApplicationMembership>>;
changeRole(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>, roleName: string): Promise<void>;
remove(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").ApplicationMembership, "user" | "is_member_of__application">>): Promise<void>;
};
invite: {
getAll(options?: import("..").PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
getAllByApplication(slugOrUuidOrId: number | string, options?: import("..").PineOptions<import("..").ApplicationInvite>): Promise<import("..").ApplicationInvite[]>;
create(slugOrUuidOrId: string | number, { invitee, roleName, message }: import("./application-invite").ApplicationInviteOptions): Promise<import("..").PinePostResult<import("..").ApplicationInvite>>;
revoke(id: number): Promise<void>;
accept(invitationToken: string): Promise<void>;
};
};
device: {
getSupervisorTargetState: (uuidOrId: string | number, version?: 2 | 3) => Promise<import("../types/device-state").DeviceState>;
getSupervisorTargetStateForApp: (slugOrUuidOrId: string | number, release?: string | number) => Promise<import("../types/device-state").DeviceStateV3>;
generateUniqueKey(): string;
register(applicationSlugOrUuidOrId: string | number, uuid: string, deviceTypeSlug?: string): Promise<{
id: number;
uuid: string;
api_key: string;
}>;
generateDeviceKey: (uuidOrId: string | number, keyName?: string, keyDescription?: string, keyExpiryDate?: string) => Promise<string>;
hasDeviceUrl: (uuidOrId: string | number) => Promise<boolean>;
getDeviceUrl: (uuidOrId: string | number) => Promise<string>;
enableDeviceUrl: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
disableDeviceUrl: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
enableLocalMode(uuidOrId: string | number): Promise<void>;
disableLocalMode: (uuidOrId: string | number) => Promise<void>;
isInLocalMode: (uuidOrId: string | number) => Promise<boolean>;
getLocalModeSupport: (device: import("../../typings/utils").AtLeast<import("..").Device, typeof import("../util/local-mode").LOCAL_MODE_SUPPORT_PROPERTIES[number]>) => {
supported: boolean;
message: string;
};
enableLockOverride: (uuidOrId: string | number) => Promise<void>;
disableLockOverride: (uuidOrId: string | number) => Promise<void>;
hasLockOverride: (uuidOrId: string | number) => Promise<boolean>;
getStatus(uuidOrId: string | number): Promise<string>;
getProgress(uuidOrId: string | number): Promise<number | null>;
grantSupportAccess(uuidOrIdOrArray: string | string[] | number | number[], expiryTimestamp: number): Promise<void>;
revokeSupportAccess: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
lastOnline(device: import("../../typings/utils").AtLeast<import("..").Device, "last_connectivity_event" | "is_online">): string;
getOsVersion: (device: import("../../typings/utils").AtLeast<import("..").Device, "os_variant" | "os_version">) => string;
isTrackingApplicationRelease: (uuidOrId: string | number) => Promise<boolean>;
getTargetReleaseHash: (uuidOrId: string | number) => Promise<string | undefined>;
pinToRelease: (uuidOrIdOrArray: string | string[] | number | number[], fullReleaseHashOrId: string | number) => Promise<void>;
trackApplicationRelease: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
setSupervisorRelease: (uuidOrIdOrArray: string | string[] | number | number[], supervisorVersionOrId: string | number) => Promise<void>;
_checkOsUpdateTarget({ uuid, is_of__device_type, is_online, os_version, os_variant, }: Pick<import("..").Device, "uuid" | "is_online" | "os_version" | "os_variant"> & {
is_of__device_type: [Pick<import("..").DeviceType, "slug">];
}, targetOsVersion: string): void;
startOsUpdate: {
(uuidOrUuids: string, targetOsVersion: string, options?: {
runDetached?: boolean;
}): Promise<import("..").OsUpdateActionResult>;
(uuidOrUuids: string[], targetOsVersion: string, options?: {
runDetached?: boolean;
}): Promise<import("../../typings/utils").Dictionary<import("..").OsUpdateActionResult>>;
};
tags: {
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceTag>): Promise<import("..").DeviceTag[]>;
getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceTag> | undefined) => Promise<import("..").DeviceTag[]>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
configVar: {
getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceVariable> | undefined) => Promise<import("..").DeviceVariable[]>;
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceVariable>): Promise<import("..").DeviceVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
envVar: {
getAllByDevice: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").DeviceVariable> | undefined) => Promise<import("..").DeviceVariable[]>;
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceVariable>): Promise<import("..").DeviceVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
serviceVar: {
getAllByDevice(uuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceServiceEnvironmentVariable>): Promise<import("..").DeviceServiceEnvironmentVariable[]>;
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").DeviceServiceEnvironmentVariable>): Promise<import("..").DeviceServiceEnvironmentVariable[]>;
get(uuidOrId: string | number, serviceNameOrId: string | number, key: string): Promise<string | undefined>;
set(uuidOrId: string | number, serviceNameOrId: string | number, key: string, value: string): Promise<void>;
remove(uuidOrId: string | number, serviceNameOrId: string | number, key: string): Promise<void>;
};
history: {
getAllByDevice(uuidOrId: string | number, { fromDate, toDate, ...options }?: import("..").PineOptions<import("..").DeviceHistory> & {
fromDate?: Date;
toDate?: Date;
}): Promise<import("..").DeviceHistory[]>;
getAllByApplication(slugOrUuidOrId: string | number, { fromDate, toDate, ...options }?: import("..").PineOptions<import("..").DeviceHistory> & {
fromDate?: Date;
toDate?: Date;
}): Promise<import("..").DeviceHistory[]>;
};
ping: (uuidOrId: string | number) => Promise<void>;
identify: (uuidOrId: string | number) => Promise<void>;
restartApplication: (uuidOrId: string | number) => Promise<void>;
reboot: (uuidOrId: string | number, options?: {
force?: boolean;
}) => Promise<void>;
shutdown: (uuidOrId: string | number, options: {
force?: boolean;
}) => Promise<void>;
purge: (uuidOrId: string | number) => Promise<void>;
update(uuidOrId: string | number, options: {
force?: boolean;
}): Promise<void>;
getSupervisorState: (uuidOrId: string | number) => Promise<import("./device.supervisor-api.partial").SupervisorStatus>;
startService: (uuidOrId: string | number, imageId: number) => Promise<void>;
stopService: (uuidOrId: string | number, imageId: number) => Promise<void>;
restartService: (uuidOrId: string | number, imageId: number) => Promise<void>;
OverallStatus: typeof import("..").OverallStatus;
getDashboardUrl(uuid: string): string;
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
getAllByOrganization(handleOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
get(uuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device>;
getWithServiceDetails(uuidOrId: string | number, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").DeviceWithServiceDetails<import("..").CurrentServiceWithCommit>>;
getByName(name: string, options?: import("..").PineOptions<import("..").Device>): Promise<import("..").Device[]>;
getName: (uuidOrId: string | number) => Promise<string>;
getApplicationName: (uuidOrId: string | number) => Promise<string>;
has: (uuidOrId: string | number) => Promise<boolean>;
isOnline: (uuidOrId: string | number) => Promise<boolean>;
getLocalIPAddresses: (uuidOrId: string | number) => Promise<string[]>;
getMACAddresses: (uuidOrId: string | number) => Promise<string[]>;
getMetrics: (uuidOrId: string | number) => Promise<import("./device").DeviceMetrics>;
remove: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
deactivate: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
rename: (uuidOrId: string | number, newName: string) => Promise<void>;
setNote: (uuidOrIdOrArray: string | string[] | number | number[], note: string) => Promise<void>;
setCustomLocation: (uuidOrIdOrArray: string | string[] | number | number[], location: {
latitude: string | number;
longitude: string | number;
}) => Promise<void>;
unsetCustomLocation: (uuidOrIdOrArray: string | string[] | number | number[]) => Promise<void>;
move: (uuidOrIdOrArray: string | string[] | number | number[], applicationSlugOrUuidOrId: string | number) => Promise<void>;
};
deviceType: {
get(idOrSlug: number | string, options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType>;
getAll(options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType[]>;
getAllSupported(options?: import("..").PineOptions<import("..").DeviceType>): Promise<import("..").DeviceType[]>;
getBySlugOrName: (slugOrName: string, options?: import("..").PineOptions<import("..").DeviceType>) => Promise<import("..").DeviceType>;
getName: (deviceTypeSlug: string) => Promise<string>;
getSlugByName: (deviceTypeName: string) => Promise<string>;
getInterpolatedPartials: (deviceTypeSlug: string) => Promise<import("..").Contract>;
getInstructions: (deviceTypeSlugOrContract: string | import("..").Contract) => Promise<Record<"Linux" | "MacOS" | "Windows", string[]> | string[]>;
getInstallMethod: (deviceTypeSlug: string) => Promise<string | null>;
};
apiKey: {
create({ name, expiryDate, description, }: {
name: string;
expiryDate: string | null;
description?: string | null;
}): Promise<string>;
getAll(options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
getAllNamedUserApiKeys(options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
getProvisioningApiKeysByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
getDeviceApiKeysByDevice(uuidOrId: string | number, options?: import("..").PineOptions<import("..").ApiKey>): Promise<import("..").ApiKey[]>;
update(id: number, apiKeyInfo: {
name?: string;
description?: string | null;
expiryDate?: string | null;
}): Promise<void>;
revoke(id: number): Promise<void>;
};
key: {
getAll: (options?: import("..").PineOptions<import("..").SSHKey>) => Promise<import("..").SSHKey[]>;
get: (id: number) => Promise<import("..").SSHKey>;
remove: (id: number) => Promise<string>;
create: (title: string, key: string) => Promise<import("..").PinePostResult<import("..").SSHKey>>;
};
organization: {
create: (organization: import("..").PineSubmitBody<import("..").Organization>) => Promise<import("..").PinePostResult<import("..").Organization>>;
getAll: (options?: import("..").PineOptions<import("..").Organization>) => Promise<import("..").Organization[]>;
get: (handleOrId: string | number, options?: import("..").PineOptions<import("..").Organization>) => Promise<import("..").Organization>;
remove: (handleOrId: string | number) => Promise<void>;
membership: {
get(membershipId: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership>;
getAllByOrganization(handleOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership[]>;
getAllByUser(usernameOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationMembership>): Promise<import("..").OrganizationMembership[]>;
changeRole(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>, roleName: string): Promise<void>;
remove(idOrUniqueKey: number | import("..").PineSubmitBody<Pick<import("..").OrganizationMembership, "user" | "is_member_of__organization">>): Promise<void>;
tags: {
getAllByOrganization(handleOrId: string | number, options?: import("..").PineOptions<import("..").OrganizationMembershipTag>): Promise<import("..").OrganizationMembershipTag[]>;
getAllByOrganizationMembership: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").OrganizationMembershipTag> | undefined) => Promise<import("..").OrganizationMembershipTag[]>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
};
invite: {
getAll(options?: import("..").PineOptions<import("..").OrganizationInvite>): Promise<import("..").OrganizationInvite[]>;
getAllByOrganization(handleOrId: number | string, options?: import("..").PineOptions<import("..").OrganizationInvite>): Promise<import("..").OrganizationInvite[]>;
create(handleOrId: string | number, { invitee, roleName, message }: import("./organization-invite").OrganizationInviteOptions): Promise<import("..").PinePostResult<import("..").OrganizationInvite>>;
revoke(id: number): Promise<void>;
accept(invitationToken: string): Promise<void>;
};
};
team: {
create: (organizationSlugOrId: string | number, name: string) => Promise<import("..").PinePostResult<import("..").Team>>;
getAllByOrganization: (organizationSlugOrId: string | number, options?: import("..").PineOptions<import("..").Team>) => Promise<import("..").Team[]>;
get: (teamId: number, options?: import("..").PineOptions<import("..").Team>) => Promise<import("..").Team>;
rename: (teamId: number, newTeamName: string) => Promise<void>;
remove: (teamId: number) => Promise<void>;
applicationAccess: {
getAllByTeam: (teamId: number, options?: import("..").PineOptions<import("..").TeamApplicationAccess>) => Promise<import("..").TeamApplicationAccess[]>;
get: (teamApplicationAccessId: number, options?: import("..").PineOptions<import("..").TeamApplicationAccess>) => Promise<import("..").TeamApplicationAccess | undefined>;
add: (teamId: number, applicationIdOrSlug: number | string, roleName: import("..").ApplicationMembershipRoles) => Promise<import("..").TeamApplicationAccess>;
update: (teamApplicationAccessId: number, roleName: import("..").ApplicationMembershipRoles) => Promise<void>;
remove: (teamApplicationAccessId: number) => Promise<void>;
};
};
os: {
_getNormalizedDeviceTypeSlug: (deviceTypeSlug: string) => Promise<string>;
_getDownloadSize: (deviceType: string, version: string) => Promise<number>;
_clearDeviceTypesAndOsVersionCaches: () => void;
_getMaxSatisfyingVersion: (versionOrRange: string, osVersions: Array<Pick<import("./os").OsVersion, "raw_version">>) => string | null;
OsTypes: typeof import("./os").OsTypes;
getAllOsVersions: {
<TP extends import("..").PineOptions<import("..").Release> | undefined>(deviceType: string, options?: TP): Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>;
<TP extends import("..").PineOptions<import("..").Release> | undefined>(deviceTypes: string[], options?: TP): Promise<import("../../typings/utils").Dictionary<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>>;
};
getAvailableOsVersions: {
(deviceType: string, options?: {
includeDraft?: boolean;
}): Promise<import("./os").OsVersion[]>;
(deviceTypes: string[], options?: {
includeDraft?: boolean;
}): Promise<import("../../typings/utils").Dictionary<import("./os").OsVersion[]>>;
<TP extends import("..").PineOptions<import("..").Release>>(deviceType: string, options: TP & {
includeDraft?: boolean;
}): Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>;
<TP extends import("..").PineOptions<import("..").Release>>(deviceTypes: string[], options: TP & {
includeDraft?: boolean;
}): Promise<import("../../typings/utils").Dictionary<Array<import("../util").ExtendedPineTypedResult<import("..").Release, import("./os").OsVersion, TP>>>>;
};
getMaxSatisfyingVersion: (deviceType: string, versionOrRange?: string, osType?: "default" | "esr") => Promise<string | null>;
getDownloadSize: (deviceType: string, version?: string) => Promise<number>;
download: (() => never) | (({ deviceType, version, ...restOptions }: import("./os").OsDownloadOptions) => Promise<import("balena-request").BalenaRequestStreamResult>);
getConfig: (slugOrUuidOrId: string | number, options: import("./os").ImgConfigOptions) => Promise<object>;
isSupportedOsUpdate: (deviceType: string, currentVersion: string, targetVersion: string) => Promise<boolean>;
getOsUpdateType: (deviceType: string, currentVersion: string, targetVersion: string) => Promise<string>;
getSupportedOsUpdateVersions: (deviceType: string, currentVersion: string, options?: {
includeDraft?: boolean;
}) => Promise<import("./os").OsUpdateVersions>;
isArchitectureCompatibleWith: (osArchitecture: string, applicationArchitecture: string) => boolean;
getSupervisorReleasesForCpuArchitecture: <TP extends import("..").PineOptions<import("..").Release> | undefined>(cpuArchitectureSlugOrId: string | number, options?: TP) => Promise<Array<import("../util").ExtendedPineTypedResult<import("..").Release, Pick<import("..").Release, "id" | "raw_version" | "known_issue_list">, TP>>>;
};
config: {
getAll: () => Promise<import("./config").Config>;
getDeviceTypes: () => Promise<import("../types/device-type-json").DeviceType[]>;
getDeviceTypeManifestBySlug: (slugOrName: string) => Promise<import("../types/device-type-json").DeviceType>;
getDeviceOptions: (deviceType: string) => Promise<Array<import("../types/device-type-json").DeviceTypeOptions | import("../types/device-type-json").DeviceInitializationOptions>>;
getConfigVarSchema: (deviceType?: string) => Promise<import("./config").ConfigVarDefinition>;
};
release: {
get: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release>;
getAllByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release[]>;
getLatestByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Release>) => Promise<import("..").Release | undefined>;
getWithImageDetails: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: {
release?: import("..").PineOptions<import("..").Release>;
image?: import("..").PineOptions<import("..").Image>;
}) => Promise<import("./release").ReleaseWithImageDetails>;
createFromUrl: (slugOrUuidOrId: string | number, urlDeployOptions: import("..").BuilderUrlDeployOptions) => Promise<number>;
finalize: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair) => Promise<void>;
setIsInvalidated: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, isInvalidated: boolean) => Promise<void>;
setNote: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, noteOrNull: string | null) => Promise<void>;
setKnownIssueList: (commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, knownIssueListOrNull: string | null) => Promise<void>;
tags: {
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ReleaseTag>): Promise<import("..").ReleaseTag[]>;
getAllByRelease(commitOrIdOrRawVersion: string | number | import("./release").ReleaseRawVersionApplicationPair, options?: import("..").PineOptions<import("..").ReleaseTag>): Promise<import("..").ReleaseTag[]>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
};
service: {
getAllByApplication: (slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").Service>) => Promise<import("..").Service[]>;
var: {
getAllByService: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, options?: import("..").PineOptions<import("..").ServiceEnvironmentVariable> | undefined) => Promise<import("..").ServiceEnvironmentVariable[]>;
getAllByApplication(slugOrUuidOrId: string | number, options?: import("..").PineOptions<import("..").ServiceEnvironmentVariable>): Promise<import("..").ServiceEnvironmentVariable[]>;
get: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<string | undefined>;
set: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string, value: string) => Promise<void>;
remove: (parentParam: string | number | import("../../typings/utils").Dictionary<unknown>, key: string) => Promise<void>;
};
};
image: {
get(id: number, options?: import("..").PineOptions<import("..").Image>): Promise<import("..").Image>;
getLogs: (id: number) => Promise<string | null>;
};
creditBundle: {
getAllByOrg: (organization: string | number, options?: import("..").PineOptions<import("..").CreditBundle>) => Promise<import("..").CreditBundle[]>;
create: (organization: string | number, featureId: number, creditsToPurchase: number) => Promise<import("..").PinePostResult<import("..").CreditBundle>>;
};
billing: {
getAccount: (organization: string | number) => Promise<import("./billing").AccountInfo>;
getPlan: (organization: string | number) => Promise<import("./billing").BillingPlanInfo>;
getBillingInfo: (organization: string | number) => Promise<import("./billing").BillingInfo>;
createSetupIntent: ({ organization, ...extraParams }: {
organization: string | number;
"g-recaptcha-response"?: string;
}) => Promise<{
id: string;
client_secret: string;
}>;
updateBillingInfo: (organization: string | number, billingInfo: import("./billing").TokenBillingSubmitInfo) => Promise<import("./billing").BillingInfo>;
removeBillingInfo: (organization: string | number) => Promise<import("./billing").BillingInfo>;
updateAccountInfo: (organization: string | number, accountInfo: Partial<import("./billing").AccountInfo>) => Promise<void>;
changePlan: (organization: string | number, { cycle, ...restPlanChangeOptions }: import("./billing").PlanChangeOptions) => Promise<void>;
getInvoices: (organization: string | number) => Promise<import("./billing").InvoiceInfo[]>;
downloadInvoice(organization: string | number, invoiceNumber: string): Promise<Blob | import("balena-request").BalenaRequestStreamResult>;
};
};
export = _default;