import { Membership } from '@dvn/core/models/membership';
import { MembershipConfig } from '@dvn/core/models/membership-config';
import { User } from '@dvn/kimlik/api/models';
import { UserSettings } from '@dvn/kimlik/api/models/UserSettings';
import { Config, Mentorship } from "../../../mentornity-js-client/models";
import { MentornityBridgeApi } from "../api/mentorinty-bridge-api";
import { SozlukApi } from "@dvn/sozluk/api";
export interface MentornityCookieContext {
  organisationDomain: string;
  organisationId: string;
  userId: string;
  role: 'mentee' | 'mentor';
  groupId?: string;
}
export interface MentornitySessionHeaders {
  Authorization?: string;
  Client: string;
}
export declare function getSessionDetails(groupId?: string): {
  context: MentornityCookieContext;
  headers: MentornitySessionHeaders;
};
export declare function getUserSettings(timeFormat: string, dateFormat: string, timeZone: string, language: string, isZoomAuthenticated: boolean, isGoogleAuthenticated: boolean, isMicrosoftBusinessAuthenticated: boolean, weekStartDay?: 'monday' | 'saturday' | 'sunday'): UserSettings;
export declare function generateMembershipForRole(role: string): Membership;
export declare function generateMembershipConfigIdForRole(role: string): string;
export declare function generateMembershipConfigForRole(role: string): MembershipConfig;
export declare function getUser(id: string): User;
export interface MentornityContextParams {
  accessToken: string;
  sessionToken: string;
  organisationId: string;
  organisationDomain: string;
  role: string;
  userId: string;
  groupId: string;
  dateFormat: string;
  language: string;
  isZoomAuthenticated: boolean;
  isGoogleAuthenticated: boolean;
  isMicrosoftAuthenticated: boolean;
  isMicrosoftBusinessAuthenticated: boolean;
  timeFormat: string;
  timeZone: string;
  weekStartDay: 'monday' | 'saturday' | 'sunday';
}
export interface MentornityContextOptions {
  fetchConfig?: boolean;
  fetchUser?: boolean;
  fetchMentorship?: boolean;
}
export interface MentornitySessionContext {
  apiSozluk: SozlukApi;
  mentornityBridgeApi: MentornityBridgeApi;
  organisationConfig?: Config;
  mentorship?: Mentorship;
  user: User;
  userSettings: UserSettings;
}
export declare function generateMentornitySessionContext(contextParams: MentornityContextParams, options: MentornityContextOptions): Promise<MentornitySessionContext>;
