/* auto-generated by NAPI-RS */
/* eslint-disable */
/**
 * Persistent object so we can cache things between commands
 */
export declare class DropletHandler {
  constructor()
  hasBackendForPath(path: string): boolean
  listFiles(path: string): Array<string>
  peekFile(path: string, subPath: string): bigint
  readFile(path: string, subPath: string, start?: bigint | undefined | null, end?: bigint | undefined | null): JsDropStreamable
}

export declare class JsDropStreamable {
  getStream(): any
}

export declare function callAltThreadFunc(tsfn: ((err: Error | null, ) => any)): void

export declare function generateClientCertificate(clientId: string, clientName: string, rootCa: string, rootCaPrivate: string): Array<string>

export declare function generateManifest(dropletHandler: DropletHandler, dir: string, progressSfn: ((err: Error | null, arg: number) => any), logSfn: ((err: Error | null, arg: string) => any), callbackSfn: ((err: Error | null, arg: string) => any)): void

export declare function generateRootCa(): Array<string>

export declare function signNonce(privateKey: string, nonce: string): string

export declare function verifyClientCertificate(clientCert: string, rootCa: string): boolean

export declare function verifyNonce(publicCert: string, nonce: string, signature: string): boolean
