/** * Core types for the Ozon Seller API SDK */ export type ApiKey = string & { readonly __brand: "ApiKey"; }; export type ClientId = string & { readonly __brand: "ClientId"; }; export type RequestId = string & { readonly __brand: "RequestId"; }; export type IdempotencyKey = string & { readonly __brand: "IdempotencyKey"; }; export interface OzonConfig { readonly apiKey: ApiKey; readonly clientId: ClientId; readonly baseUrl?: string; readonly timeout?: number; readonly retries?: number; readonly userAgent?: string; } export type HttpMethod = "GET" | "POST" | "PUT" | "DELETE" | "PATCH"; export interface BaseRequest { readonly [key: string]: unknown; } export interface BaseResponse { readonly [key: string]: unknown; } export interface ApiErrorResponse { readonly code?: string; readonly message: string; readonly details?: readonly unknown[]; } export interface PaginationParams { readonly limit?: number; readonly last_id?: string; readonly since?: string; readonly to?: string; } export interface PaginatedResponse extends BaseResponse { readonly result: { readonly items: readonly T[]; readonly has_next: boolean; readonly last_id?: string; }; } export interface RequestOptions { readonly timeout?: number; readonly retries?: number; readonly headers?: Record; readonly signal?: AbortSignal; readonly idempotencyKey?: IdempotencyKey; } export interface EndpointConfig { readonly method: HttpMethod; readonly path: string; readonly requiresAuth: boolean; } export type NonEmptyArray = readonly [T, ...T[]]; export type Optional = Omit & Partial>; export type RequiredFields = T & Required>; export type OperationStatus = "pending" | "in_progress" | "completed" | "failed" | "cancelled"; export declare enum Language { RU = "ru", EN = "en" } export declare enum Currency { RUB = "RUB", USD = "USD", EUR = "EUR" } export declare const createApiKey: (key: string) => ApiKey; export declare const createClientId: (id: string) => ClientId; export declare const createRequestId: () => RequestId; export declare const createIdempotencyKey: () => IdempotencyKey; //# sourceMappingURL=types.d.ts.map