import { Logger } from '@dvn/core/log/logger';
import { CreateSessionResponse } from '@dvn/kimlik/api/dto';
import { GetSessionResponse } from '@dvn/kimlik/api/dto/CreateSession';
import { CreateAPIKeyResponse, KimlikApi } from '@dvn/kimlik/api/kimlik-api';
import { Storage } from '@dvn/kimlik/storage/Storage.interface';
import { QueryResponse, UpdateResponse } from "@dvn/core/api";
import { ApiKey } from "@dvn/kimlik/api/models/api-key";
import { SAMLConfig } from "@dvn/kimlik/api/models/saml-config";
export declare class KimlikApiDemo implements KimlikApi {
  private database;
  private logger;
  private storage;
  constructor(database: any, storage: Storage, logger: Logger);
  activateUser(email: string, firstName: string, lastName: string, password: string): Promise<CreateSessionResponse>;
  addAuthInterceptor(_token: string): void;
  login(email: string, password: string): Promise<CreateSessionResponse>;
  logout(): Promise<{}>;
  register(email: string, firstName: string, lastName: string, password: string): Promise<CreateSessionResponse>;
  getSession(): Promise<GetSessionResponse>;
  getUsers(): Promise<QueryResponse>;
  getApiKeys(): Promise<QueryResponse>;
  createApiKey(_data: Partial<ApiKey>): Promise<CreateAPIKeyResponse>;
  deleteApiKey(_id: string): Promise<{}>;
  updateApiKey(_id: string, _data: Partial<ApiKey>): Promise<UpdateResponse>;
  getSAMLConfigs(): Promise<QueryResponse>;
  createSAMLConfig(_data: Partial<SAMLConfig>): Promise<SAMLConfig>;
  deleteSAMLConfig(_id: string): Promise<{}>;
  updateSAMLConfig(_id: string, _data: Partial<SAMLConfig>): Promise<UpdateResponse>;
}
