import type { DeviceTypeJson } from './device-type-json.js'; import type { sbvrUtils } from '@balena/pinejs'; import { errors } from '@balena/pinejs'; declare const NotFoundError: typeof errors.NotFoundError; export type { NotFoundError }; export declare class UnknownDeviceTypeError extends NotFoundError { constructor(slug: string); } export declare class UnknownVersionError extends NotFoundError { constructor(slug: string, buildId: string); } /** * Resolves a device type by slug or alias & performs access control for DTs against the database. * @param resinApi The pinejs client * @param slug The slug or alias to check. */ export declare const getDeviceTypeBySlug: (resinApi: typeof sbvrUtils.api.resin, slug: string) => Promise<{ id: number; slug: string; }>; export declare const validateSlug: (slug?: string) => string; /** @deprecated Prefer querying the device_type resource directly unless you need the device-type.json contents. */ export declare const getAccessibleDeviceTypeJsons: (resinApi: typeof sbvrUtils.api.resin) => Promise; /** @deprecated Use the getDeviceTypeBySlug unless you need the device-type.json contents. */ export declare const getDeviceTypeJsonBySlug: (resinApi: typeof sbvrUtils.api.resin, slug: string) => Promise; export declare const getImageSize: (resinApi: typeof sbvrUtils.api.resin, slug: string, buildId: string) => Promise; export interface ImageVersions { versions: string[]; latest: string; } export declare const getImageVersions: (resinApi: typeof sbvrUtils.api.resin, slug: string) => Promise;