/** * @module node-opcua-file-transfer */ import { type Int32, type Int64, type UInt16, type UInt32, type UInt64 } from "node-opcua-basic-types"; import { type QualifiedName } from "node-opcua-data-model"; import { type NodeId } from "node-opcua-nodeid"; import type { IBasicSessionAsync } from "node-opcua-pseudo-session"; import { OpenFileMode } from "../open_mode.js"; export { OpenFileMode } from "../open_mode.js"; export interface IClientFile { fileHandle: number; open(mode: OpenFileMode): Promise; close(): Promise; getPosition(): Promise; setPosition(position: UInt64 | UInt32): Promise; read(bytesToRead: UInt32 | Int32 | Int64 | UInt64): Promise; write(data: Buffer): Promise; openCount(): Promise; size(): Promise; session: IBasicSessionAsync; } export interface IClientFilePriv extends IClientFile { readonly fileNodeId: NodeId; openMethodNodeId?: NodeId; closeMethodNodeId?: NodeId; setPositionNodeId?: NodeId; getPositionNodeId?: NodeId; readNodeId?: NodeId; writeNodeId?: NodeId; openCountNodeId?: NodeId; sizeNodeId?: NodeId; ensureInitialized(): Promise; } /** * * */ export declare class ClientFile implements IClientFile { static useGlobalMethod: boolean; fileHandle: number; session: IBasicSessionAsync; readonly nodeId: NodeId; private openMethodNodeId?; private closeMethodNodeId?; private setPositionNodeId?; private getPositionNodeId?; private readNodeId?; private writeNodeId?; private openCountNodeId?; private sizeNodeId?; constructor(session: IBasicSessionAsync, nodeId: NodeId); /** * @deprecated use nodeId instead */ protected get fileNodeId(): NodeId; browseName(): Promise; open(mode: OpenFileMode): Promise; close(): Promise; getPosition(): Promise; setPosition(position: UInt64 | UInt32): Promise; read(bytesToRead: UInt32 | Int32 | Int64 | UInt64): Promise; write(data: Buffer): Promise; openCount(): Promise; size(): Promise; protected extractMethodsIds(): Promise; protected ensureInitialized(): Promise; } /** * 5.2.10 UserRolePermissions * * The optional UserRolePermissions Attribute specifies the Permissions that apply to a Node for * all Roles granted to current Session. The value of the Attribute is an array of * RolePermissionType Structures (see Table 8). * Clients may determine their effective Permissions by logically ORing the Permissions for each * Role in the array. * The value of this Attribute is derived from the rules used by the Server to map Sessions to * Roles. This mapping may be vendor specific or it may use the standard Role model defined in 4.8. * This Attribute shall not be writeable. * If not specified, the value of DefaultUserRolePermissions Property from the Namespace * Metadata Object associated with the Node is used instead. If the NamespaceMetadata Object * does not define the Property or does not exist, then the Server does not publish any information * about Roles mapped to the current Session. * * * 5.2.11 AccessRestrictions * The optional AccessRestrictions Attribute specifies the AccessRestrictions that apply to a Node. * Its data type is defined in 8.56. If a Server supports AccessRestrictions for a particular * Namespace it adds the DefaultAccessRestrictions Property to the NamespaceMetadata Object * for that Namespace (see Figure 8). If a particular Node in the Namespace needs to override * the default value the Server adds the AccessRestrictions Attribute to the Node. * If a Server implements a vendor specific access restriction model for a Namespace, it does not * add the DefaultAccessRestrictions Property to the NamespaceMetadata Object. * * * DefaultAccessRestrictions * */ //# sourceMappingURL=client_file.d.ts.map