import type { Buffer } from '../../utils/buffer'; import type { KeyType } from '../KeyType'; export interface KeyPair { publicKeyBase58: string; privateKeyBase58: string; keyType: KeyType; } export interface SignOptions { data: Buffer | Buffer[]; publicKeyBase58: string; privateKeyBase58: string; } export interface VerifyOptions { data: Buffer | Buffer[]; publicKeyBase58: string; signature: Buffer; } export interface CreateKeyPairOptions { seed?: Buffer; privateKey?: Buffer; } export interface SigningProvider { readonly keyType: KeyType; createKeyPair(options: CreateKeyPairOptions): Promise; sign(options: SignOptions): Promise; verify(options: VerifyOptions): Promise; }