import { IAlunaKeyPermissionSchema, IAlunaKeySchema } from '../../schemas/IAlunaKeySchema'; import { IAlunaModuleParams, IAlunaModuleReturns } from '../../schemas/IAlunaModuleSchema'; export interface IAlunaKeyModule { fetchDetails(params?: IAlunaKeyFetchDetailsParams): Promise; parseDetails(params: IAlunaKeyParseDetailsParams): IAlunaKeyParseDetailsReturns; parsePermissions(params: IAlunaKeyParsePermissionsParams): IAlunaKeyParsePermissionsReturns; } /** * Parse */ export interface IAlunaKeyParseDetailsParams { rawKey: T; } export interface IAlunaKeyParseDetailsReturns { key: IAlunaKeySchema; } export interface IAlunaKeyParsePermissionsParams extends IAlunaKeyParseDetailsParams { } export interface IAlunaKeyParsePermissionsReturns { permissions: IAlunaKeyPermissionSchema; } /** * Fetch */ export interface IAlunaKeyFetchDetailsParams extends IAlunaModuleParams { } export interface IAlunaKeyFetchDetailsReturns extends IAlunaKeyParseDetailsReturns, IAlunaModuleReturns { }