import { BufferView } from 'utilium/buffer.js'; import { type V_Context } from '../internal/contexts.js'; import { type InodeLike } from '../internal/inode.js'; export declare const enum Type { Access = 32768, Default = 16384 } export declare const enum Tag { UserObj = 1, User = 2, GroupObj = 4, Group = 8, Mask = 16, Other = 32, /** * @internal @hidden */ _None = 0 } declare const Entry_base: import("memium").StructConstructor>; export declare class Entry extends Entry_base { accessor tag: Tag; accessor perm: number; accessor id: number; } declare const ACL_base: import("memium").StructConstructor>; export declare class ACL extends ACL_base { accessor version: number; entries: Entry[]; constructor(...args: ConstructorParameters); } export declare function fromMode(mode: number): ACL; export declare function toMode(acl: ACL): number; export declare function get($: V_Context, path: string): Promise; export declare function getSync($: V_Context, path: string): ACL; export declare function set($: V_Context, path: string, acl: ACL): Promise; export declare function setSync($: V_Context, path: string, acl: ACL): void; export declare let shouldCheck: boolean; export declare function setChecks(enabled: boolean): void; /** * Checks if a given user/group has access to this item * @param access The requested access, combination of `W_OK`, `R_OK`, and `X_OK` */ export declare function check($: V_Context, inode: InodeLike, access: number): boolean; export {};