import { Internals } from './private.js'; import { type HANDLE, type HINSTANCE, type HTOKEN, type HICON, type HCURSOR, type HBRUSH, type HDESK, type HWND, type HKEY, type HMONITOR, type WPARAM, type LPARAM, type LRESULT } from './ctypes.js'; import type { CS_, NIF_, TOKEN_TYPE, CLAIM_SECURITY_ATTRIBUTE_, CLAIM_SECURITY_ATTRIBUTE_TYPE_, SECURITY_IMPERSONATION_LEVEL, SECURITY_DESCRIPTOR_CONTROL_, REG_, SEE_MASK_, SW_, SE_ERR_, SID_NAME_USE, POLICY_AUDIT_EVENT_, POLICY_LSA_SERVER_ROLE } from './consts.js'; /** * The ACL structure is the header of an access control list (ACL). * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-acl */ export declare class ACL { readonly AclRevision = Internals.ACL_REVISION; AceCount: number; AclSize: number; } export declare const ACL_REVISION = Internals.ACL_REVISION; export declare const ACL_REVISION_DS = Internals.DWORD_LENGTH; /** * The SID_IDENTIFIER_AUTHORITY structure represents the top-level authority of a security identifier (SID). * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid_identifier_authority */ export type SID_IDENTIFIER_AUTHORITY = [number, number, number, number, number, number]; /** * The security identifier (SID) structure is a variable-length structure used to uniquely identify users or groups. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid */ export declare class SID { readonly Revision = Internals.ANYSIZE_ARRAY; SubAuthorityCount: number; SubAuthority: number[]; IdentifierAuthority: SID_IDENTIFIER_AUTHORITY; } export declare const SID_REVISION = Internals.ANYSIZE_ARRAY; /** * The SID_AND_ATTRIBUTES structure represents a security identifier (SID) and its attributes. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid_and_attributes */ export interface SID_AND_ATTRIBUTES { Sid: SID; Attributes: number; } /** * The SID_AND_ATTRIBUTES_HASH structure specifies a hash values for the specified array of security identifiers (SIDs). * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-sid_and_attributes_hash */ export interface SID_AND_ATTRIBUTES_HASH { SidCount: number; SidAttr: SID_AND_ATTRIBUTES[]; Hash: readonly unknown[]; } /** * The CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE structure specifies the fully qualified binary name. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-claim_security_attribute_fqbn_value */ export interface CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE { Version: bigint; Name: String; } /** * The CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE structure specifies the OCTET_STRING value type of the claim security attribute. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-claim_security_attribute_octet_string_value */ export interface CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE { pValue: bigint; ValueLength: number; } /** * The CLAIM_SECURITY_ATTRIBUTE_V1 structure defines a security attribute that can be associated with a token or authorization context. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-claim_security_attribute_v1 */ export declare class CLAIM_SECURITY_ATTRIBUTE_V1 { Name: string; ValueType: CLAIM_SECURITY_ATTRIBUTE_TYPE_; Flags: CLAIM_SECURITY_ATTRIBUTE_; ValueCount: number; Values: { pInt64?: bigint[]; pUint64?: bigint[]; ppString?: string[]; pFqbn?: CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE[]; pOctetString?: CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE[]; }; } /** * The CLAIM_SECURITY_ATTRIBUTES_INFORMATION structure defines the security attributes for the claim. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-claim_security_attributes_information */ export interface CLAIM_SECURITY_ATTRIBUTES_INFORMATION { Version: number; Reserved: 0; AttributeCount: number; Attribute: { pAttributeV1: CLAIM_SECURITY_ATTRIBUTE_V1[] | null; }; } export declare const CLAIM_SECURITY_ATTRIBUTES_INFORMATION_VERSION = Internals.ANYSIZE_ARRAY; /** * Contains a 64-bit value representing the number of 100-nanosecond intervals since January 1, 1601 (UTC). * * https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-filetime */ export interface FILETIME { dwLowDateTime: number; dwHighDateTime: number; } /** * Specifies a date and time, using individual members for the month, day, year, weekday, hour, minute, second, and millisecond. * * https://learn.microsoft.com/en-us/windows/win32/api/minwinbase/ns-minwinbase-systemtime */ export interface SYSTEMTIME { wYear: number; wMonth: number; wDayOfWeek: number; wDay: number; wHour: number; wMinute: number; wSecond: number; wMilliseconds: number; } /** * The GUID structure stores a GUID. * * https://learn.microsoft.com/en-us/windows/win32/api/guiddef/ns-guiddef-guid */ export interface GUID { Data1: number; Data2: number; Data3: number; Data4: [number, number, number, number, number, number, number, number]; } /** * The UUID structure is a typedef'd synonym for the GUID structure. */ export type UUID = GUID; /** * The LUID structure is an opaque structure that specifies an identifier that is guaranteed to be unique on the local machine. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-luid */ export interface LUID { LowPart: number; HighPart: number; } /** * The LUID_AND_ATTRIBUTES structure represents a locally unique identifier (LUID) and its attributes. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-luid_and_attributes */ export interface LUID_AND_ATTRIBUTES { Luid: LUID; Attributes: number; } /** * Used by various Local Security Authority (LSA) functions to specify a Unicode string. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_unicode_string */ export declare class LSA_UNICODE_STRING { readonly Length: number; readonly MaximumLength: number; readonly Buffer: Uint16Array; constructor(maxBytes: number); constructor(string: string, maxBytes?: number); toString(): string; } /** * Contains SIDs that are retrieved based on account names. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_translated_sid2 */ export interface LSA_TRANSLATED_SID2 { Use: SID_NAME_USE; Sid: SID; DomainIndex: number; Flags: number; } /** * Used with the LsaOpenPolicy function to specify the attributes of the connection to the Policy object. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_object_attributes */ export declare class LSA_OBJECT_ATTRIBUTES { RootDirectory: HANDLE; ObjectName: LSA_UNICODE_STRING; Attributes: number; SecurityDescriptor: SECURITY_DESCRIPTOR; SecurityQualityOfService: unknown; readonly Length: number; constructor(RootDirectory?: HANDLE, ObjectName?: LSA_UNICODE_STRING, Attributes?: number, SecurityDescriptor?: SECURITY_DESCRIPTOR, SecurityQualityOfService?: unknown); } export declare const SIZEOF_LSA_OBJECT_ATTRIBUTES: number; /** * Identifies a domain. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_trust_information */ export interface LSA_TRUST_INFORMATION { Name: LSA_UNICODE_STRING; Sid: SID; } export type TRUSTED_DOMAIN_INFORMATION_BASIC = LSA_TRUST_INFORMATION; /** * Contains information about the domains referenced in a lookup operation. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-lsa_referenced_domain_list */ export interface LSA_REFERENCED_DOMAIN_LIST { Entries: number; Domains: LSA_TRUST_INFORMATION[]; } /** * Contains information used by ShellExecuteEx(). * * https://learn.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-shellexecuteinfow */ export declare class SHELLEXECUTEINFO { lpVerb: string; fMask: SEE_MASK_; lpFile: string; lpParameters: string; lpDirectory: string; hwnd: HWND; nShow: SW_; lpClass: string; hkeyClass: HKEY; dwHotKey: number; lpIDList: any; hMonitor: HMONITOR; readonly cbSize: number; readonly hInstApp: SE_ERR_; readonly hProcess: HANDLE | null; constructor(lpVerb?: string, fMask?: SEE_MASK_, lpFile?: string, lpParameters?: string, lpDirectory?: string, hwnd?: HWND, nShow?: SW_, lpClass?: string, hkeyClass?: HKEY, dwHotKey?: number, lpIDList?: any, hMonitor?: HMONITOR); } export declare const SIZEOF_SHELLEXECUTEINFO: number; /** * The POINT structure defines the x- and y-coordinates of a point. * * https://learn.microsoft.com/en-us/windows/win32/api/windef/ns-windef-point */ export interface POINT { x: number; y: number; } /** * The POINTS structure defines the x- and y-coordinates of a point. * * https://learn.microsoft.com/en-us/windows/win32/api/windef/ns-windef-points */ export interface POINTS { x: number; y: number; } /** * The RECT structure defines a rectangle by the coordinates of its upper-left and lower-right corners. * * https://learn.microsoft.com/en-us/windows/win32/api/windef/ns-windef-rect */ export interface RECT { left: number; top: number; right: number; bottom: number; } /** * The SIZE structure defines the width and height of a rectangle. * * https://learn.microsoft.com/en-us/windows/win32/api/windef/ns-windef-size */ export interface SIZE { x: number; y: number; } /** * Contains information about a window's maximized size and position and its minimum and maximum tracking size. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-minmaxinfo */ export interface MINMAXINFO { ptReserved: POINT; ptMaxSize: POINT; ptMaxPosition: POINT; ptMinTrackSize: POINT; ptMaxTrackSize: POINT; } /** * Contains message information from a thread's message queue. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-msg */ export interface MSG { HWND: HWND; message: number; wParam: WPARAM; lParam: LPARAM; time: number; pt: POINT; lPrivate: number; } /** * An application-defined function that processes messages sent to a window. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-wndproc */ export type WNDPROC = (hWnd: HWND, msg: number, wParam: WPARAM, lParam: LPARAM) => LRESULT; /** * An application-defined callback function used with the EnumWindows or EnumDesktopWindows function. * * https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/ms633498(v=vs.85) */ export type WNDENUMPROC = (hWnd: HWND, lParam: LPARAM) => number; /** * Application-defined callback function used with the CreateDialog and DialogBox families of functions. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/nc-winuser-dlgproc */ export type DLGPROC = (hWnd: HWND, msg: number, wParam: WPARAM, lParam: LPARAM) => number | bigint; /** * Contains the window class attributes that are registered by the RegisterClass function. * This structure has been superseded by the WNDCLASSEX structure used with the RegisterClassEx function. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-wndclassw */ export interface WNDCLASS { hInstance: HINSTANCE | null; lpszClassName: string | null; style: CS_; lpfnWndProc: WNDPROC | null; hCursor: HCURSOR | null; hIcon: HICON | null; hbrBackground: HBRUSH | null; lpszMenuName: string | null; cbClsExtra: number; cwWndExtra: number; } /** * Contains window class information. It is used with the RegisterClassEx and GetClassInfoEx functions. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-wndclassexw */ export declare class WNDCLASSEX { hInstance: HINSTANCE | null; lpszClassName: string | null; style: CS_; lpfnWndProc: WNDPROC | null; hCursor: HCURSOR | null; hIcon: HICON | null; hIconSm: HICON | null; hbrBackground: HBRUSH | null; lpszMenuName: string | null; cbClsExtra: number; cwWndExtra: number; readonly cbSize: number; constructor(hInstance?: HINSTANCE | null, lpszClassName?: string | null, style?: CS_, lpfnWndProc?: WNDPROC | null, hCursor?: HCURSOR | null, hIcon?: HICON | null, hIconSm?: HICON | null, hbrBackground?: HBRUSH | null, lpszMenuName?: string | null, cbClsExtra?: number, cwWndExtra?: number); } export declare const SIZEOF_WNDCLASSEX: number; /** * Contains information about a window that denied a request from `BroadcastSystemMessageEx`. * * https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-bsminfo */ export declare class BSMINFO { readonly cbSize: number; hDesk: HDESK | null; hWnd: HWND | null; luid: LUID | null; } export declare const SIZEOF_BSMINFO: number; /** * Contains information that the system needs to display notifications in the notification area. * * https://learn.microsoft.com/en-us/windows/win32/api/shellapi/ns-shellapi-notifyicondataw */ export declare class NOTIFYICONDATA { hWnd: HWND; uID: number; uFlags: NIF_; uCallbackMessage: number; hIcon: HICON; szTip: string; dwState: number; dwStateMask: number; szInfo: string; szInfoTitle: string; dwInfoFlags: number; guidItem: GUID; hBalloonIcon: HICON; readonly cbSize: number; readonly DUMMYUNIONNAME: { uTimeout?: number; uVersion?: number; }; constructor(hWnd?: HWND, uID?: number, uFlags?: NIF_, uCallbackMessage?: number, hIcon?: HICON, szTip?: string, dwState?: number, dwStateMask?: number, szInfo?: string, szInfoTitle?: string, dwInfoFlags?: number, guidItem?: GUID, hBalloonIcon?: HICON, uTimeout?: number, uVersion?: number); } export declare const SIZEOF_NOTIFYICONDATA: number; /** * The TOKEN_APPCONTAINER_INFORMATION structure specifies all the information in a token that is necessary for an app container. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_appcontainer_information */ export interface TOKEN_APPCONTAINER_INFORMATION { TokenAppContainer: SID | null; } /** * The TOKEN_DEFAULT_DACL structure specifies a discretionary access control list (DACL). * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_default_dacl */ export interface TOKEN_DEFAULT_DACL { DefaultDacl: ACL | null; } /** * The TOKEN_ELEVATION structure indicates whether a token has elevated privileges. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_elevation */ export interface TOKEN_ELEVATION { TokenIsElevated: number; } /** * The TOKEN_GROUPS structure contains information about the group security identifiers (SIDs) in an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_groups */ export interface TOKEN_GROUPS { GroupCount: number; Groups: SID_AND_ATTRIBUTES[]; } /** * The TOKEN_GROUPS_AND_PRIVILEGES structure contains information about the group security identifiers (SIDs) and privileges in an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_groups_and_privileges */ export interface TOKEN_GROUPS_AND_PRIVILEGES { SidCount: number; SidLength: number; Sids: SID_AND_ATTRIBUTES[]; RestrictedSidCount: number; RestrictedSidLength: number; RestrictedSids: SID_AND_ATTRIBUTES[]; PrivilegeCount: number; PrivilegeLength: number; Privileges: LUID_AND_ATTRIBUTES[]; AuthenticationId: LUID; } /** * The TOKEN_LINKED_TOKEN structure contains a handle to a token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_linked_token */ export interface TOKEN_LINKED_TOKEN { LinkedToken: HTOKEN; } /** * The TOKEN_MANDATORY_LABEL structure specifies the mandatory integrity level for a token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_mandatory_label */ export interface TOKEN_MANDATORY_LABEL { Label: SID_AND_ATTRIBUTES; } /** * The TOKEN_MANDATORY_POLICY structure specifies the mandatory integrity policy for a token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_mandatory_policy */ export interface TOKEN_MANDATORY_POLICY { Policy: number; } /** * The TOKEN_ORIGIN structure contains information about the origin of the logon session. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_origin */ export interface TOKEN_ORIGIN { OriginatingLogonSession: LUID; } /** * The TOKEN_OWNER structure contains the default owner security identifier (SID) that will be applied to newly created objects. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_owner */ export interface TOKEN_OWNER { Owner: SID; } /** * The TOKEN_PRIMARY_GROUP structure specifies a group security identifier (SID) for an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_primary_group */ export interface TOKEN_PRIMARY_GROUP { PrimaryGroup: SID; } /** * The TOKEN_PRIVILEGES structure contains information about a set of privileges for an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_privileges */ export interface TOKEN_PRIVILEGES { PrivilegeCount: number; Privileges: LUID_AND_ATTRIBUTES[]; } /** * The TOKEN_SOURCE structure identifies the source of an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_source */ export interface TOKEN_SOURCE { SourceName: string; SourceIdentifier: LUID; } export declare const TOKEN_SOURCE_LENGTH = Internals.TOKEN_SOURCE_LENGTH; /** * The TOKEN_STATISTICS structure contains information about an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_statistics */ export interface TOKEN_STATISTICS { TokenId: LUID; AuthenticationId: LUID; ExpirationTime: bigint; TokenType: TOKEN_TYPE; ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL; DynamicCharged: number; DynamicAvailable: number; GroupCount: number; PrivilegeCount: number; ModifiedId: LUID; } /** * The TOKEN_USER structure identifies the user associated with an access token. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_user */ export interface TOKEN_USER { User: SID_AND_ATTRIBUTES; } /** * The TOKEN_ACCESS_INFORMATION structure specifies all the information in a token that is necessary to perform an access check. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-token_access_information */ export interface TOKEN_ACCESS_INFORMATION { SidHash: SID_AND_ATTRIBUTES_HASH; RestrictedSidHash: SID_AND_ATTRIBUTES_HASH; Privileges: TOKEN_PRIVILEGES; AuthenticationId: LUID; TokenType: TOKEN_TYPE; ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL; MandatoryPolicy: TOKEN_MANDATORY_POLICY; Flags: 0; AppContainerNumber: number; PackageSid: SID | null; CapabilitiesHash: SID_AND_ATTRIBUTES_HASH; TrustLevelSid: SID | null; SecurityAttributes: null; } /** * Used to set and query the name and SID of the system's account domain. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-policy_account_domain_info */ export interface POLICY_ACCOUNT_DOMAIN_INFO { DomainName: LSA_UNICODE_STRING; DomainSid: SID; } /** * Used to set and query the system's auditing rules. * * https://learn.microsoft.com/en-us/windows/win32/api/ntsecapi/ns-ntsecapi-policy_audit_events_info */ export interface POLICY_AUDIT_EVENTS_INFO { AuditingMode: boolean; EventAuditingOptions: POLICY_AUDIT_EVENT_[]; MaximumAuditEventCount: number; } /** * Used to set and query the role of an LSA server. * * https://learn.microsoft.com/en-us/windows/win32/api/ntsecapi/ns-ntsecapi-policy_lsa_server_role_info */ export interface POLICY_LSA_SERVER_ROLE_INFO { LsaServerRole: POLICY_LSA_SERVER_ROLE; } /** * Used to query information about the creation time and last modification of the LSA database. * * https://learn.microsoft.com/en-us/windows/win32/api/ntsecapi/ns-ntsecapi-policy_modification_info */ export interface POLICY_MODIFICATION_INFO { ModifiedId: number | bigint; DatabaseCreationTime: number | bigint; } /** * The `PolicyPrimaryDomainInformation` value and `POLICY_PRIMARY_DOMAIN_INFO` structure are obsolete, * use `PolicyDnsDomainInformation` and the {@link POLICY_DNS_DOMAIN_INFO} structure instead. */ export interface POLICY_PRIMARY_DOMAIN_INFO { Name: LSA_UNICODE_STRING; Sid: SID; } /** * Used to set and query Domain Name System (DNS) information about the primary domain associated with a Policy object. * * https://learn.microsoft.com/en-us/windows/win32/api/lsalookup/ns-lsalookup-policy_dns_domain_info */ export interface POLICY_DNS_DOMAIN_INFO { Name: LSA_UNICODE_STRING; DnsDomainName: LSA_UNICODE_STRING; DnsForestName: LSA_UNICODE_STRING; DomainGuid: GUID; Sid: SID; } /** * Privilege Set - This is defined for a privilege set of one. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-privilege_set */ export interface PRIVILEGE_SET { PrivilegeCount: number; Control: number; Privilege: LUID_AND_ATTRIBUTES[]; } /** * Contains extended memory statistics for a process. Extends PROCESS_MEMORY_COUNTERS_EX and PROCESS_MEMORY_COUNTERS. * * https://learn.microsoft.com/en-us/windows/win32/api/psapi/ns-psapi-process_memory_counters_ex2 */ export declare class PROCESS_MEMORY_COUNTERS_EX2 { PageFaultCount: number; PeakWorkingSetSize: number | bigint; WorkingSetSize: number | bigint; QuotaPeakPagedPoolUsage: number | bigint; QuotaPagedPoolUsage: number | bigint; QuotaPeakNonPagedPoolUsage: number | bigint; QuotaNonPagedPoolUsage: number | bigint; PagefileUsage: number | bigint; PeakPagefileUsage: number | bigint; PrivateUsage: number | bigint; PrivateWorkingSetSize: number | bigint; SharedCommitUsage: number | bigint; readonly cb: number; constructor(PageFaultCount?: number, PeakWorkingSetSize?: number | bigint, WorkingSetSize?: number | bigint, QuotaPeakPagedPoolUsage?: number | bigint, QuotaPagedPoolUsage?: number | bigint, QuotaPeakNonPagedPoolUsage?: number | bigint, QuotaNonPagedPoolUsage?: number | bigint, PagefileUsage?: number | bigint, PeakPagefileUsage?: number | bigint, PrivateUsage?: number | bigint, PrivateWorkingSetSize?: number | bigint, SharedCommitUsage?: number | bigint); } export declare const SIZEOF_PROCESS_MEMORY_COUNTERS_EX2: number; /** * The SECURITY_DESCRIPTOR structure contains the security information associated with an object. * * https://learn.microsoft.com/en-us/windows/win32/api/winnt/ns-winnt-security_descriptor */ export interface SECURITY_DESCRIPTOR { Revision: number; Sbsz1: number; Control: SECURITY_DESCRIPTOR_CONTROL_; Owner: SID; Group: SID; Sacl: ACL; Dacl: ACL; } /** * The SECURITY_ATTRIBUTES structure contains the security descriptor for an object and specifies whether the handle retrieved by specifying this structure is inheritable. * * https://learn.microsoft.com/en-us/windows/win32/api/wtypesbase/ns-wtypesbase-security_attributes */ export declare class SECURITY_ATTRIBUTES { lpSecurityDescriptor: SECURITY_DESCRIPTOR | null; bInheritHandle: number; readonly nLength: number; constructor(lpSecurityDescriptor?: SECURITY_DESCRIPTOR | null, bInheritHandle?: number); } export declare const SIZEOF_SECURITY_ATTRIBUTES: number; /** * Contains information about a registry value. * * https://learn.microsoft.com/en-us/windows/win32/api/winreg/ns-winreg-valentw */ export interface VALENT { ve_valuename: string; ve_valuelen: number; ve_valueptr: any; ve_type: REG_; }