import type { DynamicNativeSdkInterface } from './native';
import { EdBls12377InitKeygenResult, EdBls12377KeygenResult, type EdBls12377RequestSignPayload, type EdBls12377SignedRequest } from './types';
export declare class EdBls12377 {
        protected readonly NATIVE: Promise<DynamicNativeSdkInterface>;
        protected readonly URL: string;
        protected constructor(native: Promise<DynamicNativeSdkInterface>, url: string);
        initKeygen(): Promise<EdBls12377InitKeygenResult>;
        exportID(keygenResult: EdBls12377KeygenResult | string): Promise<string>;
        createRoom(numParties: number, apiKey: string): Promise<string>;
        keygen(roomUuid: string, numParties: number, threshold: number, keygenInit: EdBls12377InitKeygenResult, keygenIds: string[]): Promise<EdBls12377KeygenResult>;
        signRequest(roomUuid: string, keygenResult: EdBls12377KeygenResult | string, requestPayload: EdBls12377RequestSignPayload): Promise<EdBls12377SignedRequest>;
        refresh(roomUuid: string, keygenResult: EdBls12377KeygenResult | string): Promise<EdBls12377KeygenResult>;
        reshareNewParty(roomUuid: string, oldThreshold: number, newThreshold: number, keygenInit: EdBls12377InitKeygenResult, keygenIds: string[]): Promise<EdBls12377KeygenResult>;
        reshareRemainingParty(roomUuid: string, newThreshold: number, keygenResult: EdBls12377KeygenResult | string, keygenIds: string[]): Promise<EdBls12377KeygenResult>;
        exportFullPrivateKey(roomUuid: string, keygenResult: EdBls12377KeygenResult | string, toExportID: string): Promise<string | undefined>;
        exportViewKey(roomUuid: string, keygenResult: EdBls12377KeygenResult | string, toExportID: string): Promise<string | undefined>;
        offlineExportFullPrivateKey(keygenResults: EdBls12377KeygenResult[] | string[]): Promise<string>;
        offlineExportViewKey(keygenResults: EdBls12377KeygenResult[] | string[]): Promise<string>;
        importPrivateKeyRecipient(roomUuid: string, threshold: number, keygenInit: EdBls12377InitKeygenResult, keygenIds: string[]): Promise<EdBls12377KeygenResult>;
        importPrivateKeyImporter(roomUuid: string, threshold: number, privateKey: string, keygenInit: EdBls12377InitKeygenResult, keygenIds: string[], isPrivateKeyRaw?: boolean): Promise<EdBls12377KeygenResult>;
}
