import { ApiClient } from './client'; import { Membership, MembershipCreateParams, MembershipUpdateParams, MembershipSubscription, MembershipFilters, PaginationParams, PaginatedResponse, ApiResponse } from './types'; /** * Client for managing memberships * Handles membership creation, subscription management, and device associations */ export declare class Memberships { private client; constructor(client: ApiClient); /** * Get all public memberships with optional filtering * @param filters Optional filters for memberships * @returns Promise with list of public memberships */ getPublic(filters?: MembershipFilters): Promise>; /** * Get all memberships with optional filtering (authenticated) * @param filters Optional filter parameters * @returns Promise with list of memberships */ list(filters?: MembershipFilters): Promise>; /** * Get a paginated list of memberships with pagination controls (authenticated) * @param paginationParams Pagination parameters (page, limit, sort, order) * @param filters Optional filter parameters * @returns Promise with paginated memberships */ listPaginated(paginationParams: PaginationParams, filters?: MembershipFilters): Promise>; /** * Create a new membership * @param params The membership creation parameters * @returns Promise with the created membership */ create(params: MembershipCreateParams): Promise>; /** * Get user's membership subscriptions * @returns Promise with list of user's subscriptions */ getMySubscriptions(): Promise>; /** * Get a membership by ID with full details * @param membershipId The ID of the membership to retrieve * @returns Promise with the membership details */ getById(membershipId: string): Promise>; /** * Update a membership * @param membershipId The ID of the membership to update * @param params The membership update parameters * @returns Promise with the updated membership */ update(membershipId: string, params: MembershipUpdateParams): Promise>; /** * Delete a membership * @param membershipId The ID of the membership to delete * @returns Promise with success confirmation */ delete(membershipId: string): Promise>; /** * Subscribe to a membership * @param membershipId The ID of the membership to subscribe to * @returns Promise with subscription confirmation */ subscribe(membershipId: string): Promise>; /** * Unsubscribe from a membership * @param membershipId The ID of the membership to unsubscribe from * @returns Promise with unsubscribe confirmation */ unsubscribe(membershipId: string): Promise>; /** * Add device to membership * @param membershipId The ID of the membership * @param device_id The ID of the device to add * @returns Promise with success confirmation */ addDevice(membershipId: string, device_id: string): Promise>; /** * Remove device from membership * @param membershipId The ID of the membership * @param device_id The ID of the device to remove * @returns Promise with success confirmation */ removeDevice(membershipId: string, device_id: string): Promise>; }