import type { UseInfiniteQueryResult, UseQueryResult } from 'react-query'; import type { BaseListRequest, GetUseInfiniteQueryOptions, GetUseQueryOptions } from '../../../types'; /** * 请求镜像列表数据 */ export interface DescribeImagesRequest extends BaseListRequest { action?: 'DescribeImages'; provider?: 'shared' | 'system' | 'self'; status: string[]; os_family?: string[] | undefined; /** * 特殊主机规格过滤条件 */ features?: number | undefined; /** * 查询镜像id集合 */ images?: (string | null)[] | undefined; /** * 自定义镜像 项目过滤条件(仅自有镜像才有项目过滤) */ project_id?: string | undefined; } /** * 镜像列表返回数据 */ export interface DescribeImagesResponse { action: 'DescribeImages'; image_set: Image[]; ret_code?: number; total_count: number; } /** * 安置策略组列表数据 */ export interface Image { base_id: string; block_bus: string; agent_type: string; app_billing_id: string; architecture: string; baremetal: boolean; billing_id: string; create_time: string; default_passwd: string; default_user: string; description: string; f_resetpwd: number; features: number; features_supported: Record<'disk_hot_plug' | 'ipv6_supported' | 'join_multiple_managed_vxnets' | 'nic_hot_plug' | 'reset_fstab' | 'root_fs_rw_offline' | 'root_fs_rw_online' | 'set_keypair' | 'set_pwd' | 'user_data' | 'webssh_supported', number>; hypervisor: string; image_encryption: number | null; image_id: string; image_name: string; is_free: boolean; os_family: string; owner: string; platform: string; processor_type: string; provider: string; recommended_type: string; resource_project_info: string[]; root_id: string; root_partition_fs: string; size: number; status: string; status_time: string; sub_code: number; tags: string[]; transition_status: string; ui_type: string; visibility: string; } /** * 请求镜像列表(from request) * @param params {@link DescribeImagesRequest} * @returns Observable {@link DescribeImagesResponse} */ export declare const fromRequestDescribeImages: (params: DescribeImagesRequest) => import("rxjs").Observable; /** * 请求镜像列表(request) * @param params {@link DescribeImagesRequest} * @returns Promise {@link DescribeImagesResponse } */ export declare const requestDescribeImages: (params: DescribeImagesRequest) => Promise; /** * useQuery 请求镜像列表 * @param params {@link DescribeImagesRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link DescribeImagesResponse} */ export declare const useDescribeImagesQuery: (params: DescribeImagesRequest, options?: GetUseQueryOptions) => UseQueryResult; /** * useInfiniteQuery 请求镜像列表 * @param params {@link DescribeImagesRequest} * @param options UseInfiniteQueryOptions * @returns UseInfiniteQueryResult {@link DescribeImagesResponse} */ export declare const useDescribeImagesInfiniteQuery: (params: DescribeImagesRequest, options?: GetUseInfiniteQueryOptions) => UseInfiniteQueryResult;