import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import Long from "long"; /** * Possible log levels. * * NOTE (known proto3 deviation): The zero value is LOG_LEVEL_TRACE rather than * LOG_LEVEL_UNSPECIFIED. This is intentional because the backend maps these values * directly to the host logging framework's integer levels (0 = Trace). Changing the * zero value would require cascading changes across the service implementation. * Consumers should not rely on default-constructed messages having a neutral log level. */ export declare enum LogLevel { /** * LOG_LEVEL_TRACE - Logs that contain the most detailed messages. These messages may contain sensitive application data. * These messages are disabled by default and should never be enabled in a production environment. */ LOG_LEVEL_TRACE = 0, /** * LOG_LEVEL_DEBUG - Logs that are used for interactive investigation during development. These logs should primarily * contain information useful for debugging and have no long-term value. */ LOG_LEVEL_DEBUG = 1, /** LOG_LEVEL_INFORMATION - Logs that track the general flow of the application. These logs should have long-term value. */ LOG_LEVEL_INFORMATION = 2, /** * LOG_LEVEL_WARNING - Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise * cause the application execution to stop. */ LOG_LEVEL_WARNING = 3, /** * LOG_LEVEL_ERROR - Logs that highlight when the current flow of execution is stopped due to a failure. These should * indicate a failure in the current activity, not an application-wide failure. */ LOG_LEVEL_ERROR = 4, /** * LOG_LEVEL_CRITICAL - Logs that describe an unrecoverable application or system crash, or a catastrophic failure that * requires immediate attention. */ LOG_LEVEL_CRITICAL = 5, /** LOG_LEVEL_NONE - Not used for writing log messages. Specifies that a logging category should not write any messages. */ LOG_LEVEL_NONE = 6, UNRECOGNIZED = -1 } export declare function logLevelFromJSON(object: any): LogLevel; export declare function logLevelToJSON(object: LogLevel): string; /** * Possible application events. * @internal */ export declare enum AppEvent { APP_EVENT_UNSPECIFIED = 0, /** APP_EVENT_LICENSE_INFO_CHANGED - Raised when the license information has changed. */ APP_EVENT_LICENSE_INFO_CHANGED = 1, /** APP_EVENT_EXTENSION_CHANGED - Raised when an extension has been installed, updated, or uninstalled. */ APP_EVENT_EXTENSION_CHANGED = 2, UNRECOGNIZED = -1 } export declare function appEventFromJSON(object: any): AppEvent; export declare function appEventToJSON(object: AppEvent): string; /** * A request message for setting log level. * @internal */ export interface SetLogLevelRequest { /** The new log level. */ logLevel: LogLevel; } /** * A response message for receiving the current log level. * @internal */ export interface GetLogLevelResponse { /** The current log level. */ logLevel: LogLevel; } /** A log message. */ export interface LogMessage { /** Time of the message. */ time: Long; /** The log level. */ logLevel: LogLevel; /** The event identifier. */ eventId: number; /** The category name. */ categoryName: string; /** The message. */ message: string; } /** A collection of log messages. */ export interface LogMessages { /** The log message items. */ items: LogMessage[]; } /** * License information. * @internal */ export interface LicenseInformation { /** The license key. */ licenseKey: string; /** The product ean. */ productEan: string; /** The product name. */ productName: string; /** The product version. */ productVersion: string; /** The instance identifier. */ instanceId: string; /** The instance name. */ instanceName: string; /** Expiration date as unix time is in seconds. */ expirationDate: Long; /** A flag indicating if the license is valid. */ isValid: boolean; } /** * A collection of licenses. * @internal */ export interface Licenses { /** The license information items. */ items: LicenseInformation[]; } /** * Event arguments. * @internal */ export interface AppEventArgs { /** The application event type. */ eventType: AppEvent; /** A collection of registered licenses. */ licenses?: Licenses | undefined; /** A collection of extension information. */ extensions?: ExtensionInfos | undefined; } /** * Message holding extension information. * @internal */ export interface ExtensionInfo { /** Timestamp of when the extension was packed */ createdDate: string; /** Extension name. */ name: string; /** Extension display name. */ displayName: string; /** Extension description. */ description: string; /** Extension version. */ version: string; /** Extension author. */ author: string; /** Extension data, i.e., default configuration for a service extension. */ data: string; /** Extension type. */ extensionType?: string | undefined; /** European Article Number (EAN) of the extension. */ ean?: string | undefined; /** Publisher of the extension (Kvaser AB). */ publisher?: string | undefined; /** Copyright notice of the extension. */ copyrightNotice?: string | undefined; /** End User License Agreement (EULA) of the extension. */ eula?: string | undefined; /** Signed date of the extension, ISO 8601 timestamp. */ signedDate?: string | undefined; /** Indicates if the extension has been verified. */ isVerified?: boolean | undefined; /** Indicates if the extension's license is activated and valid. */ isLicenseValid?: boolean | undefined; /** Expiration date of the extension's license, ISO 8601 timestamp. */ licenseExpirationDate?: string | undefined; /** Distribution tier the extension belongs to, "Free", "Verified", or "Licensed", defaults to "Free" */ distributionTier?: string | undefined; } /** * A collection of extension information. * @internal */ export interface ExtensionInfos { /** A collection of extension information items. */ items: ExtensionInfo[]; } /** * Request message for installing a GUI or service extension. * @internal */ export interface InstallExtensionRequest { /** Full path to the service extension WebAssembly file (.wasm file), or the GUI extension Node.js package file (.tgz file). */ filePath: string; /** An optional flag that can be used if an extension should be replace/updated with a new version. */ replaceExisting?: boolean | undefined; } /** * Request message for uninstalling a GUI or service extension. * @internal */ export interface UninstallExtensionRequest { /** Name of the extension. */ name: string; } /** * Request message for getting information about an extension, either from a service extension WebAssembly file (.wasm file), * a GUI extension Node.js package file (.tgz file), or from an installed extension. * @internal */ export interface GetExtensionInfoRequest { /** * Full path to the service extension WebAssembly file (.wasm file), the GUI extension Node.js package file (.tgz file), * or the extension name if it is already installed. */ filePathOrName: string; } /** * Response message for getting licenses. * @internal */ export interface GetLicensesResponse { /** A collection of registered licenses. */ licenses: LicenseInformation[]; } /** * Request message for activating a license. * @internal */ export interface ActivateLicenseRequest { /** The license key. */ licenseKey: string; /** The product_ean of the extension to activate. */ productEan: string; /** The version of the extension to activate. */ version: string; } /** * Request message for checking the entitlement of a product. * @internal */ export interface CheckEntitlementRequest { /** The product ean to check. */ productEan: string; /** The version of the product to check. */ version: string; /** Distribution tier of the extension, "Verified" or "Licensed". */ distributionTier: string; } /** * Response message with the current entitlement status of a product. * @internal */ export interface CheckEntitlementResponse { /** True if a valid license grants use of the product. */ granted: boolean; /** * Re-validation deadline as ISO 8601 timestamp: the earlier of the license expiration and a * short re-validation interval. Holders of a grant must re-check no later than this time. */ expires?: string | undefined; /** Machine-readable denial reason, e.g. "no-license" or "expired". Only set when not granted. */ reason?: string | undefined; } /** * Message for getting about information. * @internal */ export interface AboutInformation { /** The API version used by the service. */ apiVersion: string; /** The service version running */ serviceVersion: string; /** The Canlib version used */ canlibVersion: string; } /** * Request message for generating a self-signed TLS certificate. * @internal */ export interface GenerateCertificateRequest { /** DNS hostname or IP address for the certificate CN and SAN. */ hostname: string; /** Optional additional IP SAN. */ ip?: string | undefined; /** Optional output path for the PFX. If empty, the service chooses a secure default. */ outputPath?: string | undefined; /** Optional PFX password. */ password?: string | undefined; /** Certificate validity in days. Defaults to 730 if zero or negative. */ validityDays: number; } /** * Response message after generating a certificate. * @internal */ export interface GenerateCertificateResponse { /** Absolute path where the PFX was saved. */ certificatePath: string; /** DER-encoded public certificate bytes (for distribution to clients). */ publicCertificate: Uint8Array; } /** * Request message for enabling remote connections. * @internal */ export interface EnableRemoteConnectionsRequest { /** Absolute path to the PKCS#12/PFX certificate file. */ certPath: string; /** Optional PFX password. */ certPassword?: string | undefined; /** Port for the remote HTTPS listener. */ port: number; /** Optional shared secret for remote client authentication (x-api-key). */ apiKey?: string | undefined; /** Optional root folder for reading and writing files via the API. If not set, a default file access root is used. */ fileAccessRoot?: string | undefined; } /** * Response message with the current remote connections configuration. * @internal */ export interface RemoteConnectionsConfig { /** Whether remote connections are currently enabled. */ enabled: boolean; /** Configured remote connection port. */ port: number; /** Path to the configured TLS certificate. */ certPath: string; /** File access root configured for remote connections. */ fileAccessRoot: string; } export declare const SetLogLevelRequest: MessageFns; export declare const GetLogLevelResponse: MessageFns; export declare const LogMessage: MessageFns; export declare const LogMessages: MessageFns; export declare const LicenseInformation: MessageFns; export declare const Licenses: MessageFns; export declare const AppEventArgs: MessageFns; export declare const ExtensionInfo: MessageFns; export declare const ExtensionInfos: MessageFns; export declare const InstallExtensionRequest: MessageFns; export declare const UninstallExtensionRequest: MessageFns; export declare const GetExtensionInfoRequest: MessageFns; export declare const GetLicensesResponse: MessageFns; export declare const ActivateLicenseRequest: MessageFns; export declare const CheckEntitlementRequest: MessageFns; export declare const CheckEntitlementResponse: MessageFns; export declare const AboutInformation: MessageFns; export declare const GenerateCertificateRequest: MessageFns; export declare const GenerateCertificateResponse: MessageFns; export declare const EnableRemoteConnectionsRequest: MessageFns; export declare const RemoteConnectionsConfig: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T : T extends Long ? string | number | Long : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; interface MessageFns { encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};