import type { UseQueryResult } from 'react-query'; import type { BaseRequest, GetUseQueryOptions } from '../../../types'; export interface GetPriceResponse { action: 'GetPriceResponse'; ret_code?: number; price_set: { available_coupon: string; available_coupon_set: []; discount: number; discount_details: { user_discount: number; remarks: string; resource_discount: number; }; normal_price: string; original_price: string; price: string; sequence: number; }[]; } /** * 主机价格 */ export interface GetInstancePriceRequest extends BaseRequest { action?: 'GetPrice'; currency?: string; duration?: number | undefined; durations?: number[] | undefined; resources: { type: 'instance' | 'instance_os_disk'; cpu: number; memory: number; instance_class: number; instance_type: string; image_id: string; image_size: number; instance_class_feature: number; sequence: number; gpu?: number | undefined; gpu_class?: number | undefined; duration?: number | undefined; replica_count?: number | undefined; platform?: string | number; repl?: string | number; }[]; } /** * 硬盘价格 */ export interface GetVolumePriceRequest extends BaseRequest { action?: 'GetPrice'; currency?: string; duration?: number | undefined; resources: { type: 'volume'; sequence: number; size: number; volume_type: number; replica_count?: number | undefined; }[]; } /** * 公网ip价格 */ export interface GetEipPriceRequest extends BaseRequest { action?: 'GetPrice'; currency?: string; resources: { type: 'eip'; sequence: number; bandwidth: number; billing_mode: 'bandwidth' | 'traffic'; eip_group_id: string; charge_item?: 'eip_traffic' | 'eip_addr' | undefined; }[]; } /** * 备份价格 */ export interface GetSnapshotPriceRequest extends BaseRequest { action?: 'GetPrice'; currency?: string; resources: { type: 'snapshot'; sequence: number; snapshot_type: number; size: number; }[]; } /** * 公网ip附加费 */ export interface GetEipCountPriceRequest extends BaseRequest { action?: 'GetPrice'; currency?: string; resources: { type: 'eip_count'; sequence: number; eip_count: number; }[]; } /** * 请求主机价格 (from request) * @param params {@link GetInstancePriceRequest} * @returns Observable {@link GetPriceResponse} */ export declare const fromRequestGetInstancePrice: (params: GetInstancePriceRequest) => import("rxjs").Observable; /** * 请求主机价格 (request) * @param params {@link GetInstancePriceRequest} * @returns Promise {@link GetPriceResponse} */ export declare const requestGetInstancePrice: (params: GetInstancePriceRequest) => Promise; /** * useQuery 请求主机价格 * @param params {@link GetInstancePriceRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link GetPriceResponse} */ export declare const useGetInstancePriceQuery: (params: GetInstancePriceRequest, options?: GetUseQueryOptions) => UseQueryResult; /** * 请求硬盘价格 (from request) * @param params {@link GetVolumePriceRequest} * @returns Observable {@link GetPriceResponse} */ export declare const fromRequestGetVolumePrice: (params: GetVolumePriceRequest) => import("rxjs").Observable; /** * 请求硬盘价格 (request) * @param params {@link GetVolumePriceRequest} * @returns Promise {@link GetPriceResponse} */ export declare const requestGetVolumePrice: (params: GetVolumePriceRequest) => Promise; /** * useQuery 请求硬盘价格 * @param params {@link GetVolumePriceRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link GetPriceResponse} */ export declare const useGetVolumePriceQuery: (params: GetVolumePriceRequest, options?: GetUseQueryOptions) => UseQueryResult; /** * 请求公网ip价格 (from request) * @param params {@link GetEipPriceRequest} * @returns Observable {@link GetPriceResponse} */ export declare const fromRequestGetEipPrice: (params: GetEipPriceRequest) => import("rxjs").Observable; /** * 请求公网ip价格 (request) * @param params {@link GetEipPriceRequest} * @returns Promise {@link GetPriceResponse} */ export declare const requestGetEipPrice: (params: GetEipPriceRequest) => Promise; /** * useQuery 请求公网IP价格 * @param params {@link GetEipPriceRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link GetPriceResponse} */ export declare const useGetEipPriceQuery: (params: GetEipPriceRequest, options?: GetUseQueryOptions) => UseQueryResult; /** * 请求备份价格 (from request) * @param params {@link GetSnapshotPriceRequest} * @returns Observable {@link GetPriceResponse} */ export declare const fromRequestGetSnapshotPrice: (params: GetSnapshotPriceRequest) => import("rxjs").Observable; /** * 请求备份价格 (request) * @param params {@link GetSnapshotPriceRequest} * @returns Promise {@link GetPriceResponse} */ export declare const requestGetSnapshotPrice: (params: GetSnapshotPriceRequest) => Promise; /** * useQuery 请求备份价格 * @param params {@link GetSnapshotPriceRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link GetPriceResponse} */ export declare const useGetSnapshotPriceQuery: (params: GetSnapshotPriceRequest, options?: GetUseQueryOptions) => UseQueryResult; /** * 请求公网ip附加费价格 (from request) * @param params {@link GetEipCountPriceRequest} * @returns Observable {@link GetPriceResponse} */ export declare const fromRequestGetEipCountPrice: (params: GetEipCountPriceRequest) => import("rxjs").Observable; /** * 请求公网ip附加费价格 (request) * @param params {@link GetEipCountPriceRequest} * @returns Promise {@link GetPriceResponse} */ export declare const requestGetEipCountPrice: (params: GetEipCountPriceRequest) => Promise; /** * useQuery 请求公网ip附加费价格 * @param params {@link GetEipCountPriceRequest} * @param options UseQueryOptions * @returns UseQueryResult {@link GetPriceResponse} */ export declare const useGetEipCountPriceQuery: (params: GetEipCountPriceRequest, options?: GetUseQueryOptions) => UseQueryResult;