import { DecisionCode } from '../constants/decision-code'; import { IAccess } from '../interfaces/access'; import { TAccessConstructorOptions } from '../types/access-constructor-options'; import { TAccessJournal, TAccessJournalEntry } from '../types/access-journal'; import { TAccessJSON } from '../types/access-json'; import { TAction } from '../types/action'; import { TAttributeName } from '../types/attribute-name'; import { TEnvironment } from '../types/environment'; import { TPermission } from '../types/permission'; import { TResource } from '../types/resource'; import { TWildCard } from '../types/wild-card'; export declare class Access implements IAccess { private journal; private decisionCode; private decisivePermission; private consideredPermissions; private environment; private action; private resource; constructor(options: TAccessConstructorOptions); getDecisionCode(): DecisionCode; isEvaluated(): boolean; getResource(): TResource; getAction(): TAction; getDecisivePermission(): TPermission | null; getReturnedAttributes(): TAttributeName[] | TWildCard | undefined; getCustomData(): Object | undefined; getConsideredPermissions(): TPermission[]; getJournal(): TAccessJournal; logJournalEntry(entry: TAccessJournalEntry): this; getEnvironment(): TEnvironment | null | undefined; deny(code: DecisionCode, decisivePermission?: TPermission | null): this; allow(decisivePermission: TPermission): this; isAllowed(): boolean; isDenied(): boolean; toJSON(): TAccessJSON; static fromJSON(accessJSON: TAccessJSON): Access; }