import { EcdsaInitKeygenResult, EcdsaKeygenResult, EcdsaPublicKey, EcdsaSignature, MessageHash, DynamicNativeSdkInterface } from './';
export declare class Ecdsa {
        protected readonly NATIVE: Promise<DynamicNativeSdkInterface>;
        protected readonly URL: string;
        protected constructor(native: Promise<DynamicNativeSdkInterface>, hostUrl: string);
        createRoom(numParties: number, apiKey: string): Promise<string>;
        initKeygen(): Promise<EcdsaInitKeygenResult>;
        exportID(keygenResult: EcdsaKeygenResult | string): Promise<string>;
        keygen(roomUuid: string, numParties: number, threshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
        sign(roomUuid: string, keygenResult: EcdsaKeygenResult | string, msgHash: MessageHash, derivationPath?: Uint32Array): Promise<EcdsaSignature>;
        refresh(roomUuid: string, keygenResult: EcdsaKeygenResult | string): Promise<EcdsaKeygenResult>;
        reshareNewParty(roomUuid: string, oldThreshold: number, newThreshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
        reshareRemainingParty(roomUuid: string, newThreshold: number, keygenResult: EcdsaKeygenResult | string, keygenIds: string[]): Promise<EcdsaKeygenResult>;
        derivePubkey(keygenResult: EcdsaKeygenResult | string, derivationPath?: Uint32Array): Promise<EcdsaPublicKey>;
        getXpub(keygenResult: EcdsaKeygenResult | string): Promise<string>;
        derivePubkeyFromXpub(Xpub: string, derivationPath?: Uint32Array): Promise<EcdsaPublicKey>;
        exportFullPrivateKey(roomUuid: string, keygenResult: EcdsaKeygenResult | string, toExportID: string): Promise<string | undefined>;
        derivePrivateKeyFromXpriv(xpriv: string, derivationPath?: Uint32Array): Promise<string>;
        offlineExportFullPrivateKey(keygenResults: EcdsaKeygenResult[] | string[]): Promise<string>;
        importPrivateKeyRecipient(roomUuid: string, threshold: number, keygenInit: EcdsaInitKeygenResult, keygenIds: string[]): Promise<EcdsaKeygenResult>;
        importPrivateKeyImporter(roomUuid: string, threshold: number, privateKey: string, keygenInit: EcdsaInitKeygenResult, keygenIds: string[], chaincode?: Uint8Array | string): Promise<EcdsaKeygenResult>;
    protected getHostUrl(path?: string): string;
}
