import { Web3LibAdapter } from "@bosonprotocol/common";
type SignatureArgs<T extends boolean> = {
    web3Lib: Web3LibAdapter;
    verifyingContractAddress: string;
    chainId: number;
    customSignatureType?: Record<string, unknown>;
    customDomainData?: Record<string, unknown>;
    primaryType: string;
    message: Record<string, unknown>;
    returnTypedDataToSign: T;
};
export type StructuredData = {
    types: {
        EIP712Domain: {
            name: string;
            type: string;
        }[];
    };
    domain: {
        name: string;
        version: string;
        verifyingContract: string;
        salt: string;
    } | {
        name: string;
        version: string;
        verifyingContract: string;
        chainId: number | string;
    } | {
        name: string;
        verifyingContract: string;
        chainId: number | string;
    };
    primaryType: string;
    message: Record<string, unknown>;
};
export declare function prepareDataSignatureParameters(args: SignatureArgs<true>): Promise<StructuredData>;
export declare function prepareDataSignatureParameters(args: SignatureArgs<false>): Promise<ReturnType<typeof getSignatureParameters>>;
export declare function getSignatureParameters(signature: string): {
    r: string;
    s: string;
    v: number;
    signature: string;
};
export declare function rebuildSignature({ r, s, v }: {
    r: string;
    s: string;
    v: number;
}): string;
export {};
//# sourceMappingURL=signature.d.ts.map