// Copyright © 2022-2026 Partium, Inc. DBA Partium import { Observable } from 'rxjs'; import { BaseService, DefaultGetPaginatedRequestPaginationContext, ServiceProvider } from '../../core'; import { GetPartDataRequest } from '../models/get-part-data-request'; import { GetPartDataResponse } from '../models/get-part-data-response'; import { GetSelectableAttributesRequest } from '../models/get-selectable-attributes-request'; import { GetSelectableAttributesResponse } from '../models/get-selectable-attributes-response'; export interface DataService { /** * Get the data of a part. * * @param request - The request object. * @returns The data of the part. */ getPart(request: GetPartDataRequest): Observable; /** * Loads the first page of selectable attribute definitions with pagination context. * * @param request - The request object. * @returns The first page and pagination context for loading additional pages. */ loadSelectableAttributes(request?: GetSelectableAttributesRequest): Observable<{ response: GetSelectableAttributesResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Loads the next page of selectable attribute definitions. * * @param paginationContext - The pagination context returned by previous selectable-attribute calls. * @returns The next page and updated pagination context. */ loadMoreSelectableAttributes(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ response: GetSelectableAttributesResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; /** * Returns true when another selectable-attribute page can be loaded. */ hasMoreSelectableAttributesAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; } export declare class DataServiceImpl extends BaseService implements DataService { private httpsService; constructor(serviceProvider: ServiceProvider); onCreate(): void; getPart(request?: GetPartDataRequest): Observable; loadSelectableAttributes(request?: GetSelectableAttributesRequest): Observable<{ response: GetSelectableAttributesResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; loadMoreSelectableAttributes(paginationContext: DefaultGetPaginatedRequestPaginationContext): Observable<{ response: GetSelectableAttributesResponse; paginationContext: DefaultGetPaginatedRequestPaginationContext; }>; hasMoreSelectableAttributesAvailable(paginationContext: DefaultGetPaginatedRequestPaginationContext): boolean; private fetchSelectableAttributesPage; }