import { BigNumber, Wallet } from 'ethers';
import { Logger } from '../utils/logger';
import { GMPByteType, Order } from '../order/types';
import { AttestationMerkleProofObj, Judgement } from './types';
import { Config } from '../config/config';
export declare function signSingleOrder(order: Order, settledAmount: BigNumber, bidWinner: string, config: Config, wallet: Wallet): Promise<[string, string, string]>;
export declare function getOrderJudgement(order: Order, receivedAmount: BigNumber, bidAmount: BigNumber, receivedInAsset: string, receivedForTarget: string, bidWinner: string, config: Config, orderTimeout: number, orderTimestamp: number, supportRevertCommitments: boolean): Judgement;
export declare function getMessagePayloadHash(attestationMessagePayload: string): string;
export declare function getMessageHash(messagePayloadHash: string, nonceOnSource: number, orderId: string, sourceNetwork: string, destinationNetwork: string, logger: Logger): {
    messageHash: string;
    source4Bytes: string;
} | null;
export declare function hashRemoteOrderPayload(order: Order): string;
export declare function hashCommitOrRevertOrderPayload(currentHash: string, address: string, addressZero: string, GMPByte: GMPByteType): string;
export declare function getAttestationMessagePayloadCommit(GMPByte: string, order: Order, executor: string, maybeBidAmountDifferentThanMaxReward: BigNumber | null): string;
export declare function getAttestationMessagePayloadRevert(GMPByte: string, orderId: string): string;
export declare function constructMultiMerkleProof(signers: string[]): AttestationMerkleProofObj;
export declare function constructMultiMerkleProofVerified(signers: string[], impliedRoot: string, allParticipants: string[]): AttestationMerkleProofObj;
//# sourceMappingURL=attestation.d.ts.map