import { UpdateResponse } from '@dvn/core/api';
import { GetListResponse } from '@dvn/core/api/dto/list';
import { Agreement } from '@dvn/core/models/agreement';
import { AgreementConsent } from '@dvn/core/models/agreement-consent';
import { AppConfig } from '@dvn/core/models/app-config';
import { Membership } from '@dvn/core/models/membership';
import { MembershipConfig } from '@dvn/core/models/membership-config';
export interface UyeApi {
  getAppConfigOfMembership: (id: string) => Promise<AppConfig>;
  getMembershipConfigWithName: (id: string) => Promise<MembershipConfig>;
  getMembership: (membershipConfigId: string, membershipId: string) => Promise<Membership>;
  getMembershipsOfUser: (userId: string) => Promise<GetListResponse<Membership>>;
  activateMembership: (membershipConfigId: string, membershipId: string) => Promise<Membership>;
  updateMembership: (membershipConfigId: string, membershipId: string, data: Partial<Membership>) => Promise<UpdateResponse>;
  getAgreement: (id: string) => Promise<Agreement>;
  consentAgreement: (id: string) => Promise<AgreementConsent>;
  addAuthInterceptor: (token: string) => void;
}
export declare class UyeApiImpl implements UyeApi {
  private api;
  constructor(endpoint: string, defaultHeaders?: object);
  getMembershipConfig: (id: string) => Promise<MembershipConfig>;
  getMembershipConfigWithName: (name: string) => Promise<MembershipConfig>;
  activateMembership: (membershipConfigId: string, membershipId: string) => Promise<Membership>;
  getMembership: (id: string) => Promise<Membership>;
  getMembershipsOfUser: (userId: string) => Promise<GetListResponse<Membership>>;
  updateMembership: (membershipConfigId: string, membershipId: string, data: Partial<Membership>) => Promise<UpdateResponse>;
  getAgreement: (id: string) => Promise<Agreement>;
  consentAgreement: (id: string) => Promise<AgreementConsent>;
  addAuthInterceptor: (token: string) => void;
  getAppConfigOfMembership(id: string): Promise<AppConfig>;
}
