import { ECSignature, NftOrderV4 } from "./types";
import { ethers, Wallet } from "ethers";
export declare const parseRawSignature: (rawSignature: string) => ECSignature;
export declare const verifyAppIdOrThrow: (appId: string) => void;
export declare const generateRandom128BitNumber: (base?: number) => string;
export declare const generateRandomV4OrderNonce: (appId?: string) => string;
export declare const signOrderData: (order: NftOrderV4, signer: ethers.Wallet) => Promise<string>;
export declare const prepareEncodedTransaction: (signer: Wallet, gasPriceMultiplier: number, gasLimitMultiplier: number, transactionInput: any) => Promise<{
    chainId: number;
    nonce: number;
    to: string;
    data: string;
    value: string;
    gasPrice: string;
    gasLimit: string;
}>;
export declare const signOrder: (order: NftOrderV4, signer: ethers.Wallet) => Promise<{
    signature: {
        signatureType: number;
        r: string;
        s: string;
        v: number;
    };
    rawSignature: string;
    direction: ethers.BigNumberish;
    maker: string;
    taker: string;
    expiry: ethers.BigNumberish;
    nonce: ethers.BigNumberish;
    erc20Token: string;
    erc20TokenAmount: ethers.BigNumberish;
    fees: import("./types").FeeStruct[];
    erc1155Token: string;
    erc1155TokenId: ethers.BigNumberish;
    erc1155TokenProperties: import("./types").PropertyStruct[];
    erc1155TokenAmount: ethers.BigNumberish;
} | {
    signature: {
        signatureType: number;
        r: string;
        s: string;
        v: number;
    };
    rawSignature: string;
    direction: ethers.BigNumberish;
    maker: string;
    taker: string;
    expiry: ethers.BigNumberish;
    nonce: ethers.BigNumberish;
    erc20Token: string;
    erc20TokenAmount: ethers.BigNumberish;
    fees: import("./types").FeeStruct[];
    erc721Token: string;
    erc721TokenId: ethers.BigNumberish;
    erc721TokenProperties: import("./types").PropertyStruct[];
}>;
