interface OpenTimestamps {
  // Create a detached timestamp file from a buffer or file hash
  DetachedTimestampFile: {
    fromHash(op: any, hash: Uint8Array): any
  }

  // Stamp the provided timestamp file and return a Promise
  stamp(file: any): Promise<void>

  // Verify the provided timestamp proof file
  verify(file: any): Promise<void>

  // Other utilities or operations (like OpSHA256, serialization)
  Ops: {
    OpSHA256: any
    OpSHA1?: any
  }

  Context: {
    StreamSerialization: any
  }

  // Load a timestamp file from a buffer
  deserialize(bytes: Uint8Array): any

  // Other potential methods based on repo functions
  upgrade(file: any): Promise<void>
}
