import { BaseResponseType } from '../../../utils';
export interface Nodes {
    [key: string]: NodeSoftwareInfo[];
}
export interface NodeSoftwareInfo {
    node: string;
    artifacts: SoftwareInfoDescriptorFragment[];
}
export interface SoftwareInfoDescriptorFragment {
    name: string;
    group: string;
    version: string;
}
export type DeviceSoftwareInfoResponse = BaseResponseType<"/api/kos/manifest/info", "get">;
/**
 * @category Service
 * @internal
 * Retrieves the initial software-info data.
 * @param signal - Optional AbortSignal to cancel the request
 */
export declare const getSoftwareInfos: (signal?: AbortSignal) => Promise<DeviceSoftwareInfoResponse>;
/**
 * Cancellable version of getSoftwareInfos
 * @example
 * ```typescript
 * // In your model
 * const data = await getSoftwareInfosWithCancel();
 *
 * // Cancel if needed
 * getSoftwareInfosWithCancel.cancel();
 *
 * // Check if active
 * if (getSoftwareInfosWithCancel.isActive()) {
 *   console.log('Request in progress');
 * }
 * ```
 */
export declare const getSoftwareInfosWithCancel: import('../../../utils').CancellableFunction<() => Promise<{
    nodes?: import('../../../utils/types').components["schemas"]["a7a680dc-5c50-468d-8063-704a7bf4e167"];
}>>;
//# sourceMappingURL=software-info-services.d.ts.map