@tsonic/dotnet
Version:
TypeScript type definitions for .NET 10 BCL (Base Class Library)
127 lines (101 loc) • 3.98 kB
TypeScript
// Generated by tsbindgen - Architecture
// Namespace: System.Security.Permissions
// Assembly: System.Private.CoreLib
// Branded primitive types are sourced from @tsonic/types
import type { sbyte, byte, short, ushort, int, uint, long, ulong, int128, uint128, half, float, double, decimal, nint, nuint, char } from '@tsonic/types';
// Import types from other namespaces
import type { IPermission } from "../../System.Security/internal/index.js";
import * as System_Internal from "../../System/internal/index.js";
import type { Attribute, Boolean as ClrBoolean, Enum, IComparable, IConvertible, IFormatProvider, IFormattable, Int32, ISpanFormattable, Object as ClrObject, String as ClrString, Type, TypeCode } from "../../System/internal/index.js";
// CLROf<T> - Maps ergonomic primitives to their CLR types for generic constraints
// This utility is used ONLY in generic type arguments to satisfy CLR interface constraints
// Value positions (parameters, return types) use lowercase primitives for ergonomics
export type CLROf<T> =
T extends sbyte ? System_Internal.SByte :
T extends short ? System_Internal.Int16 :
T extends int ? System_Internal.Int32 :
T extends long ? System_Internal.Int64 :
T extends int128 ? System_Internal.Int128 :
T extends nint ? System_Internal.IntPtr :
T extends byte ? System_Internal.Byte :
T extends ushort ? System_Internal.UInt16 :
T extends uint ? System_Internal.UInt32 :
T extends ulong ? System_Internal.UInt64 :
T extends uint128 ? System_Internal.UInt128 :
T extends nuint ? System_Internal.UIntPtr :
T extends half ? System_Internal.Half :
T extends float ? System_Internal.Single :
T extends double ? System_Internal.Double :
T extends decimal ? System_Internal.Decimal :
T extends char ? System_Internal.Char :
T extends boolean ? System_Internal.Boolean :
T extends string ? System_Internal.String :
T; // Identity fallback for non-primitive types
export enum PermissionState {
none = 0,
unrestricted = 1
}
export enum SecurityAction {
assert = 3,
demand = 2,
deny = 4,
inheritanceDemand = 7,
linkDemand = 6,
permitOnly = 5,
requestMinimum = 8,
requestOptional = 9,
requestRefuse = 10
}
export enum SecurityPermissionFlag {
allFlags = 16383,
assertion = 1,
bindingRedirects = 8192,
controlAppDomain = 1024,
controlDomainPolicy = 256,
controlEvidence = 32,
controlPolicy = 64,
controlPrincipal = 512,
controlThread = 16,
execution = 8,
infrastructure = 4096,
noFlags = 0,
remotingConfiguration = 2048,
serializationFormatter = 128,
skipVerification = 4,
unmanagedCode = 2
}
export interface CodeAccessSecurityAttribute$instance extends SecurityAttribute {
}
export const CodeAccessSecurityAttribute: {
};
export type CodeAccessSecurityAttribute = CodeAccessSecurityAttribute$instance;
export interface SecurityAttribute$instance extends Attribute {
action: SecurityAction;
unrestricted: boolean;
createPermission(): IPermission;
}
export const SecurityAttribute: {
};
export type SecurityAttribute = SecurityAttribute$instance;
export interface SecurityPermissionAttribute$instance extends CodeAccessSecurityAttribute {
assertion: boolean;
bindingRedirects: boolean;
controlAppDomain: boolean;
controlDomainPolicy: boolean;
controlEvidence: boolean;
controlPolicy: boolean;
controlPrincipal: boolean;
controlThread: boolean;
execution: boolean;
flags: SecurityPermissionFlag;
infrastructure: boolean;
remotingConfiguration: boolean;
serializationFormatter: boolean;
skipVerification: boolean;
unmanagedCode: boolean;
createPermission(): IPermission;
}
export const SecurityPermissionAttribute: {
new(action: SecurityAction): SecurityPermissionAttribute$instance;
};
export type SecurityPermissionAttribute = SecurityPermissionAttribute$instance;