import { AxiosRequestConfig } from "axios"; import { OpenApiResponse, ServiceOptions, CreateAPIParams, FetchParams, ServiceOptionsBase, Policy, SecurityToken2 } from "./types"; export default class Service { constructor(options: ServiceOptions); private options; setAccessKeyId: (accessKeyId: string) => void; setSecretKey: (secretKey: string) => void; setSessionToken: (sessionToken: string) => void; setRegion: (region: string) => void; setHost: (host: string) => void; getSessionToken: () => string | undefined; getAccessKeyId: () => string | undefined; getSecretKey: () => string | undefined; /** * create json api * @param Action OpenAPI Action * @param createParams.Version OpenAPI Version. If not provide, will use service defaultVersion. * @param createParams.method http method default is POST. You can also use 'PUT' * @param createParams.contentType body content type. support: json urlencode form-data. default is json. */ createJSONAPI(Action: string, createParams?: CreateAPIParams): (requestData: Record, params?: (FetchParams & AxiosRequestConfig) | undefined, options?: ServiceOptionsBase | undefined) => Promise>; /** * create urlencode api * @param Action OpenAPI Action * @param createParams.Version OpenAPI Version. If not provide, will use service defaultVersion. * @param createParams.method http method default is POST. You can also use 'PUT' * @param createParams.contentType body content type. support: json urlencode form-data. default is urlencode. */ createUrlEncodeAPI(Action: string, createParams?: CreateAPIParams): (requestData: Record, params?: (FetchParams & AxiosRequestConfig) | undefined, options?: ServiceOptionsBase | undefined) => Promise>; /** * create form-data api * @param Action OpenAPI Action * @param createParams.Version OpenAPI Version. If not provide, will use service defaultVersion. * @param createParams.method http method default is POST. You can also use 'PUT' * @param createParams.contentType body content type. support: json urlencode form-data. default is form-data. */ createFormDataAPI(Action: string, createParams?: CreateAPIParams): (requestData: Record, params?: (FetchParams & AxiosRequestConfig) | undefined, options?: ServiceOptionsBase | undefined) => Promise>; /** * create api function * @param Action OpenAPI Action * @param createParams.Version OpenAPI Version. If not provide, will use service defaultVersion. * @param createParams.method http method like GET POST PUT * @param createParams.contentType body content type. support: json urlencode form-data. default is urlencode. */ createAPI, Result>(Action: string, createParams?: CreateAPIParams): (requestData: RequestData, params?: FetchParams & AxiosRequestConfig, options?: ServiceOptionsBase) => Promise>; fetchOpenAPI(params: FetchParams & AxiosRequestConfig, options?: ServiceOptionsBase): Promise>; /** * get temporary ak sk * @param {Policy|number} inlinePolicy? permission policy * @param {number} expire? expires in milliseconds * @returns {SecurityToken2} object containing temporary ak/sk */ signSts2(inlinePolicy?: Policy | number, expire?: number): SecurityToken2; }