import type { SearchOptions, SearchResponse, SearchV2Options, SearchV2Response, SearchV2AutocompleteResponse, SearchV2SettingsResponse } from '@recomnext/shared-search-types'; import type { RecomnextConfig, ItemPayload, UserPayload, InteractionPayload, ImpressionPayload, RecommendationResult, RecommendationOptions, RecommendOptions, CreateScenarioPayload, UpdateScenarioPayload, Scenario, CatalogItem, CatalogUser, PaginatedResult, ListItemsOptions, ListUsersOptions, UpsertResult, AcceptedResult, MergeResult } from './types.js'; interface RequestOptions { query?: Record; } export declare class RecomnextClient { private readonly baseUrl; private readonly tenantId; private readonly privateToken; private readonly maxRetries; private readonly timeout; private readonly backoffFactor; readonly ingestion: IngestionNamespace; readonly recommendations: RecommendationsNamespace; readonly scenarios: ScenariosNamespace; readonly catalog: CatalogNamespace; readonly identity: IdentityNamespace; constructor(config: RecomnextConfig); request(method: string, path: string, body?: unknown, options?: RequestOptions): Promise; private buildSignedRequest; } declare class IngestionNamespace { private readonly c; constructor(c: RecomnextClient); upsertItems(items: ItemPayload[]): Promise; upsertUsers(users: UserPayload[]): Promise; logInteractions(interactions: InteractionPayload[]): Promise; logImpressions(impressions: ImpressionPayload[]): Promise; } declare class RecommendationsNamespace { private readonly c; constructor(c: RecomnextClient); userToItem(userId: string, opts?: RecommendationOptions): Promise; itemToItem(itemId: string, opts?: RecommendationOptions): Promise; recentlyViewed(userId: string, opts?: RecommendationOptions): Promise; similarProducts(itemId: string, opts?: RecommendationOptions): Promise; itemsToItems(itemIds: string[], opts?: RecommendationOptions): Promise; recommend(opts: RecommendOptions): Promise; search(query: string, opts?: SearchOptions): Promise; searchV2(query: string, opts?: SearchV2Options): Promise; autocomplete(query: string, opts?: { limit?: number; }): Promise; getSearchV2Settings(): Promise; } declare class ScenariosNamespace { private readonly c; constructor(c: RecomnextClient); list(): Promise; get(slug: string): Promise; create(payload: CreateScenarioPayload): Promise; update(slug: string, payload: UpdateScenarioPayload): Promise; delete(slug: string): Promise; } declare class CatalogNamespace { private readonly c; constructor(c: RecomnextClient); listItems(opts?: ListItemsOptions): Promise>; getItem(externalId: string): Promise; listUsers(opts?: ListUsersOptions): Promise>; getUser(externalId: string): Promise; } declare class IdentityNamespace { private readonly c; constructor(c: RecomnextClient); merge(userId: string, sessionIds: string[]): Promise; } export {}; //# sourceMappingURL=client.d.ts.map