import { GenericObject } from '@node-c/core'; export declare enum IAMAuthorizationCheckErrorCode { FGANoAccess = "FGA_NO_ACCESS", RBACNoAccessToModule = "RBAC_NO_ACCESS_TO_MODULE", RBACNoAccessToResource = "RBAC_NO_ACCESS_TO_RESOURCE" } export interface IAMAuthorizationStaticCheckAccessOptions { moduleName: string; resource?: string; resourceContext?: string; } export interface IAMAuthorizationStaticCheckAccessResult { errorCode?: IAMAuthorizationCheckErrorCode; hasAccess: boolean; inputDataToBeMutated: GenericObject; noMatchForResource: boolean; permissions: GenericObject>; } export interface IAMAuthorizationUser { currentPermissions: GenericObject>; } export interface IAMAuthorizeApiKeyData { apiKey: string; signature?: string; signatureContent?: string; } export interface IAMAuthorizeApiKeyOptions { config: { apiKey?: string; apiSecret?: string; apiSecretAlgorithm?: string; }; } export interface IAMPermission { allowedInputData?: GenericObject; allowedOutputData?: GenericObject; forbiddenInputData?: GenericObject; forbiddenOutputData?: GenericObject; id: Id; inputDataFieldName?: string; moduleName: string; name: string; requiredStaticData?: GenericObject; resources?: string[]; resourceContext?: string; userFieldName?: string; }