/** * EACL Record - a single access control rule. */ import { Action, Operation } from './enums'; import { Filter } from './filter'; import { Target } from './target'; /** * Record represents an access rule in NeoFS. * * A record specifies: * - What operation it applies to (GET, PUT, DELETE, etc.) * - What action to take (ALLOW or DENY) * - Who it applies to (targets: roles or specific users) * - Optional filters to limit which resources it affects */ export declare class Record { private _action; private _operation; private _filters; private _targets; constructor(action: Action, operation: Operation, targets: Target[], filters?: Filter[]); /** Action to take when rule matches */ get action(): Action; /** Operation this rule applies to */ get operation(): Operation; /** Targets this rule applies to */ get targets(): Target[]; /** Filters to limit which resources this rule affects */ get filters(): Filter[]; /** * Create an ALLOW rule. */ static allow(operation: Operation, targets: Target[], filters?: Filter[]): Record; /** * Create a DENY rule. */ static deny(operation: Operation, targets: Target[], filters?: Filter[]): Record; /** * Allow GET operation for targets. */ static allowGet(targets: Target[], filters?: Filter[]): Record; /** * Deny GET operation for targets. */ static denyGet(targets: Target[], filters?: Filter[]): Record; /** * Allow HEAD operation for targets. */ static allowHead(targets: Target[], filters?: Filter[]): Record; /** * Deny HEAD operation for targets. */ static denyHead(targets: Target[], filters?: Filter[]): Record; /** * Allow PUT operation for targets. */ static allowPut(targets: Target[], filters?: Filter[]): Record; /** * Deny PUT operation for targets. */ static denyPut(targets: Target[], filters?: Filter[]): Record; /** * Allow DELETE operation for targets. */ static allowDelete(targets: Target[], filters?: Filter[]): Record; /** * Deny DELETE operation for targets. */ static denyDelete(targets: Target[], filters?: Filter[]): Record; /** * Allow SEARCH operation for targets. */ static allowSearch(targets: Target[], filters?: Filter[]): Record; /** * Deny SEARCH operation for targets. */ static denySearch(targets: Target[], filters?: Filter[]): Record; /** * Allow RANGE operation for targets. */ static allowRange(targets: Target[], filters?: Filter[]): Record; /** * Deny RANGE operation for targets. */ static denyRange(targets: Target[], filters?: Filter[]): Record; /** * Clone this record. */ clone(): Record; }