import { APIBase } from '@dvn/core/api/apiBase';
import { GetSessionResponse } from '@dvn/kimlik/api/dto/CreateSession';
import { AxiosDefaults } from 'axios';
import { CreateSessionResponse } from './dto';
export declare const STORAGE_KEY_KIMLIK_USER_ID = "kimlik_uid";
export declare const STORAGE_KEY_KIMLIK_TOKEN = "kimlik_token";
export interface KimlikApi {
  activateUser: (email: string, firstName: string, lastName: string, password: string) => Promise<CreateSessionResponse>;
  addAuthInterceptor: (token: string) => void;
  getSession: () => Promise<GetSessionResponse>;
  login: (email: string, password: string) => Promise<CreateSessionResponse>;
  logout: () => Promise<{}>;
  register: (email: string, firstName: string, lastName: string, password: string) => Promise<CreateSessionResponse>;
}
export declare class KimlikApiImpl implements KimlikApi {
  api: APIBase;
  constructor(endpoint: string, defaultHeaders?: object);
  getDefaults(): AxiosDefaults;
  register: (email: string, firstName: string, lastName: string, password: string) => Promise<CreateSessionResponse>;
  login: (email: string, password: string) => Promise<CreateSessionResponse>;
  activateUser: (email: string, firstName: string, lastName: string, password: string) => Promise<CreateSessionResponse>;
  logout: () => Promise<{}>;
  addAuthInterceptor: (token: string) => void;
  getSession: () => Promise<GetSessionResponse>;
}
