import { Bytes, Int } from 'mvc-scrypt';
import { SatotxSigner, SignerConfig } from './SatotxSigner';
export declare function getRabinDataEmpty(signers: SatotxSigner[], signerSelecteds: number[]): Promise<{
    rabinData: {
        rabinMsg: Bytes;
        rabinPaddingArray: Bytes[];
        rabinSigArray: Int[];
    };
    rabinPubKeyIndexArray: number[];
    rabinPubKeyVerifyArray: Int[];
}>;
export declare function getRabinData(signers: SatotxSigner[], signerSelecteds: number[], rabinUtxo?: {
    preTxId?: string;
    preOutputIndex?: number;
    preTxHex?: string;
    txId?: string;
    txHex?: string;
}): Promise<{
    rabinData: {
        rabinMsg: Bytes;
        rabinPaddingArray: Bytes[];
        rabinSigArray: Int[];
    };
    rabinPubKeyIndexArray: number[];
    rabinPubKeyVerifyArray: Int[];
}>;
export declare function getRabinDatas(signers: SatotxSigner[], signerSelecteds: number[], rabinInputs?: {
    preTxId?: string;
    preOutputIndex?: number;
    preTxHex?: string;
    txId?: string;
    outputIndex?: number;
    txHex?: string;
}[]): Promise<{
    rabinDatas: {
        rabinMsg: Bytes;
        rabinPaddingArray: Bytes[];
        rabinSigArray: Int[];
    }[];
    checkRabinDatas: {
        rabinMsgArray: Bytes;
        rabinPaddingArray: Bytes;
        rabinSigArray: Bytes;
    };
    checkRabinData: {
        rabinMsg: Bytes;
        rabinPaddingArray: Bytes[];
        rabinSigArray: Int[];
    };
    rabinPubKeyIndexArray: number[];
    rabinPubKeyVerifyArray: Int[];
}>;
export declare function selectSigners(signerConfigs: SignerConfig[], signerNum: number, signerVerifyNum: number): Promise<{
    signers: SignerConfig[];
    signerSelecteds: number[];
}>;
