/* tslint:disable */ /* eslint-disable */ /* auto-generated by NAPI-RS */ /** Mechanisms that load data into the importer */ export interface NativeImporterMetadata { /** Identifies the importer */ id: string /** Describes the strategies used to obtain imported data */ loaders: Array /** Identifies the instructions for the importer */ instructions: string } export declare namespace passwords { /** The error message returned when a password is not found during retrieval or deletion. */ export const PASSWORD_NOT_FOUND: string /** * Fetch the stored password from the keychain. * Throws {@link Error} with message {@link PASSWORD_NOT_FOUND} if the password does not exist. */ export function getPassword(service: string, account: string): Promise /** Save the password to the keychain. Adds an entry if none exists otherwise updates the existing entry. */ export function setPassword(service: string, account: string, password: string): Promise /** * Delete the stored password from the keychain. * Throws {@link Error} with message {@link PASSWORD_NOT_FOUND} if the password does not exist. */ export function deletePassword(service: string, account: string): Promise /** Checks if the os secure storage is available */ export function isAvailable(): Promise } export declare namespace biometrics { export function prompt(hwnd: Buffer, message: string): Promise export function available(): Promise export function setBiometricSecret(service: string, account: string, secret: string, keyMaterial: KeyMaterial | undefined | null, ivB64: string): Promise /** * Retrieves the biometric secret for the given service and account. * Throws Error with message [`passwords::PASSWORD_NOT_FOUND`] if the secret does not exist. */ export function getBiometricSecret(service: string, account: string, keyMaterial?: KeyMaterial | undefined | null): Promise /** * Derives key material from biometric data. Returns a string encoded with a * base64 encoded key and the base64 encoded challenge used to create it * separated by a `|` character. * * If the iv is provided, it will be used as the challenge. Otherwise a random challenge will be generated. * * `format!("|")` */ export function deriveKeyMaterial(iv?: string | undefined | null): Promise export interface KeyMaterial { osKeyPartB64: string clientKeyPartB64?: string } export interface OsDerivedKey { keyB64: string ivB64: string } } export declare namespace biometrics_v2 { export function initBiometricSystem(): BiometricLockSystem export function authenticate(biometricLockSystem: BiometricLockSystem, hwnd: Buffer, message: string): Promise export function authenticateAvailable(biometricLockSystem: BiometricLockSystem): Promise export function enrollPersistent(biometricLockSystem: BiometricLockSystem, userId: string, key: Buffer): Promise export function provideKey(biometricLockSystem: BiometricLockSystem, userId: string, key: Buffer): Promise export function unlock(biometricLockSystem: BiometricLockSystem, userId: string, hwnd: Buffer): Promise export function unlockAvailable(biometricLockSystem: BiometricLockSystem, userId: string): Promise export function hasPersistent(biometricLockSystem: BiometricLockSystem, userId: string): Promise export function unenroll(biometricLockSystem: BiometricLockSystem, userId: string): Promise export class BiometricLockSystem { } } export declare namespace clipboards { export function read(): Promise export function write(text: string, password: boolean): Promise } export declare namespace sshagent { export interface PrivateKey { privateKey: string name: string cipherId: string } export interface SshKey { privateKey: string publicKey: string keyFingerprint: string } export interface SshUiRequest { cipherId?: string isList: boolean processName: string isForwarding: boolean namespace?: string } export function serve(callback: (err: Error | null, arg: SshUiRequest) => any): Promise export function stop(agentState: SshAgentState): void export function isRunning(agentState: SshAgentState): boolean export function setKeys(agentState: SshAgentState, newKeys: Array): void export function lock(agentState: SshAgentState): void export function clearKeys(agentState: SshAgentState): void export class SshAgentState { } } export declare namespace processisolations { export function disableCoredumps(): Promise export function isCoreDumpingDisabled(): Promise export function isolateProcess(): Promise } export declare namespace powermonitors { export function onLock(callback: (err: Error | null, ) => any): Promise export function isLockMonitorAvailable(): Promise } export declare namespace windows_registry { export function createKey(key: string, subkey: string, value: string): Promise export function deleteKey(key: string, subkey: string): Promise } export declare namespace ipc { export interface IpcMessage { clientId: number kind: IpcMessageType message?: string } export const enum IpcMessageType { Connected = 0, Disconnected = 1, Message = 2 } export class IpcServer { /** * Create and start the IPC server without blocking. * * @param name The endpoint name to listen on. This name uniquely identifies the IPC connection and must be the same for both the server and client. * @param callback This function will be called whenever a message is received from a client. */ static listen(name: string, callback: (error: null | Error, message: IpcMessage) => void): Promise /** Return the path to the IPC server. */ getPath(): string /** Stop the IPC server. */ stop(): void /** * Send a message over the IPC server to all the connected clients * * @return The number of clients that the message was sent to. Note that the number of messages * actually received may be less, as some clients could disconnect before receiving the message. */ send(message: string): number } } export declare namespace autostart { export function setAutostart(autostart: boolean, params: Array): Promise } export declare namespace autofill { export function runCommand(value: string): Promise export const enum UserVerification { Preferred = 'preferred', Required = 'required', Discouraged = 'discouraged' } export interface Position { x: number y: number } export interface PasskeyRegistrationRequest { rpId: string userName: string userHandle: Array clientDataHash: Array userVerification: UserVerification supportedAlgorithms: Array windowXy: Position } export interface PasskeyRegistrationResponse { rpId: string clientDataHash: Array credentialId: Array attestationObject: Array } export interface PasskeyAssertionRequest { rpId: string clientDataHash: Array userVerification: UserVerification allowedCredentials: Array> windowXy: Position } export interface PasskeyAssertionWithoutUserInterfaceRequest { rpId: string credentialId: Array userName: string userHandle: Array recordIdentifier?: string clientDataHash: Array userVerification: UserVerification windowXy: Position } export interface PasskeyAssertionResponse { rpId: string userHandle: Array signature: Array clientDataHash: Array authenticatorData: Array credentialId: Array } export class IpcServer { /** * Create and start the IPC server without blocking. * * @param name The endpoint name to listen on. This name uniquely identifies the IPC connection and must be the same for both the server and client. * @param callback This function will be called whenever a message is received from a client. */ static listen(name: string, registrationCallback: (error: null | Error, clientId: number, sequenceNumber: number, message: PasskeyRegistrationRequest) => void, assertionCallback: (error: null | Error, clientId: number, sequenceNumber: number, message: PasskeyAssertionRequest) => void, assertionWithoutUserInterfaceCallback: (error: null | Error, clientId: number, sequenceNumber: number, message: PasskeyAssertionWithoutUserInterfaceRequest) => void): Promise /** Return the path to the IPC server. */ getPath(): string /** Stop the IPC server. */ stop(): void completeRegistration(clientId: number, sequenceNumber: number, response: PasskeyRegistrationResponse): number completeAssertion(clientId: number, sequenceNumber: number, response: PasskeyAssertionResponse): number completeError(clientId: number, sequenceNumber: number, error: string): number } } export declare namespace passkey_authenticator { export function register(): void } export declare namespace logging { export const enum LogLevel { Trace = 0, Debug = 1, Info = 2, Warn = 3, Error = 4 } export function initNapiLog(jsLogFn: (err: Error | null, arg0: LogLevel, arg1: string) => any): void } export declare namespace chromium_importer { export interface ProfileInfo { id: string name: string } export interface Login { url: string username: string password: string note: string } export interface LoginImportFailure { url: string username: string error: string } export interface LoginImportResult { login?: Login failure?: LoginImportFailure } /** Returns OS aware metadata describing supported Chromium based importers as a JSON string. */ export function getMetadata(): Record export function getInstalledBrowsers(): Array export function getAvailableProfiles(browser: string): Array export function importLogins(browser: string, profileId: string): Promise> } export declare namespace autotype { export function getForegroundWindowTitle(): string export function typeInput(input: Array, keyboardShortcut: Array): void }