import { Response, Serializable } from '../../internal/interfaces/serializable'; import { Transport } from '../../internal/interfaces/transport'; import { RestResponse } from '../../model/common'; /** JSON-compatible UTA request and response values. */ export type UtaPrimitive = string | number | boolean | null; export type UtaValue = UtaPrimitive | UtaValue[] | { [key: string]: UtaValue | undefined; }; export type UtaRequestData = { [key: string]: UtaValue | undefined; }; export type UtaRecord = { [key: string]: UtaValue | undefined; }; /** * Serializes a plain UTA request object for DefaultTransport. * * Undefined and null parameters are intentionally omitted. This prevents optional values from * becoming `key=undefined` or `key=null` in signed GET/DELETE query strings. */ export declare class UtaRequest implements Serializable { [key: string]: unknown; constructor(data?: UtaRequestData); toJson(): string; } /** * Generic UTA REST result wrapper. * * UTA responses are intentionally not forced through class-transformer. The API can return a * list for one account mode and an object for another, and can represent numeric fields as either * JSON numbers or strings. Keeping the raw `data` shape prevents the array/object and * number/string deserialization failures seen in rigid generated models. */ export declare class UtaRestResponse implements Response { data: T; commonResponse?: RestResponse; private constructor(); setCommonResponse(response: RestResponse): void; toJson(): string; static fromJson(input: string): UtaRestResponse; static fromObject(data: object): UtaRestResponse; } /** Shared direct REST caller for all UTA API groups. */ export declare abstract class UtaApiBase { protected readonly transport: Transport; protected constructor(transport: Transport); protected call(method: 'GET' | 'POST' | 'DELETE', path: string, request?: UtaRequestData): Promise>; }