import { IPrivateKey, IPublicKey, ISignature } from '../common/interfaces';
import { EndianType } from '../common/types';
import { default as BN } from './bn.extension';
import { default as DigitalSignature } from './digital-signature';
import { default as PublicKey } from '../keys/publickey';
/**
 * IMPORTANT: ECDSA only used for compact message signing.
 * for transactions signing, use Schnorr.
 */
export default class ECDSA extends DigitalSignature {
    k?: BN;
    set(obj: Partial<ECDSA>): this;
    sigError(): boolean | string;
    protected _findSignature(d: BN, e: BN): Partial<ISignature>;
    private static toLowS;
    calcI(): this;
    randomK(): this;
    deterministicK(badrs?: number): this;
    signRandomK(): this;
    toString(): string;
    toPublicKey(): PublicKey;
    static fromString(str: string): ECDSA;
    static sign(hashbuf: Uint8Array, privkey: IPrivateKey, endian?: EndianType): ISignature;
    static verify(hashbuf: Uint8Array, sig: ISignature, pubkey: IPublicKey, endian?: EndianType): boolean;
}
//# sourceMappingURL=ecdsa.d.ts.map