///
import { DataItem } from '../DataItem.js';
import { Tag } from '../tags.js';
export declare abstract class Signer {
readonly signer?: any;
readonly publicKey: Buffer;
readonly signatureType: number;
readonly signatureLength: number;
readonly ownerLength: number;
readonly pem?: string | Buffer;
abstract sign(message: Uint8Array, _opts?: any): Promise | Uint8Array;
abstract signDataItem?(dataItem: string | Buffer, tags: Tag[]): Promise;
abstract setPublicKey?(): Promise;
abstract getAddress?(): Promise;
static verify(_pk: string | Buffer, _message: Uint8Array, _signature: Uint8Array, _opts?: any): boolean;
}