import { Address, Hex } from "viem";
import { FlaunchVersion } from "../types";
/**
 * Backend class for interacting with Flaunch protocol for generating hookData with signature for swaps.
 * Doesn't require any publicClient or walletClient to be initialized.
 */
export declare class FlaunchBackend {
    signerPrivateKey: Hex;
    readonly chainId: number;
    constructor(signerPrivateKey: Hex, chainId: number);
    /**
     * Generates the hookData for swaps when TrustedSigner is enabled for a coin during fair launch
     *
     * @param userWallet - The wallet address to generate a signature for
     * @param coinAddress - The address of the coin to generate a signature for
     * @param deadlineFromNowInSeconds - The deadline from now in seconds
     * @param version - The version to get the position manager address for, defaults to the latest version if undefined
     * @param referrer - (optional) The referrer address for the swap
     * @return The hookData, deadline and signature
     */
    generateHookDataWithSignature({ userWallet, coinAddress, deadlineFromNowInSeconds, version, referrer, }: {
        userWallet: Address;
        coinAddress: Address;
        deadlineFromNowInSeconds: number;
        version?: FlaunchVersion;
        referrer?: Address;
    }): Promise<{
        hookData: Hex;
        deadline: number;
        signature: Hex;
    }>;
    /**
     * Gets the position manager address for a given version
     * @param version - The version to get the position manager address for, defaults to the latest version if undefined
     */
    getPositionManagerAddress(version?: FlaunchVersion): `0x${string}`;
}
/**
 * Generates a signature for a given wallet, poolId, deadline and private key.
 *
 * @param userWallet The wallet address to generate a signature for
 * @param poolId The pool id that this signature is valid for (as hex string)
 * @param deadline The deadline for the signature
 * @param privateKey The private key to use to generate the signature (as hex string)
 * @return The encoded signature as hex string
 */
export declare const generateSignatureRaw: ({ userWallet, poolId, deadline, privateKey, }: {
    userWallet: Address;
    poolId: Hex;
    deadline: bigint;
    privateKey: Hex;
}) => Promise<Hex>;
//# sourceMappingURL=FlaunchBackend.d.ts.map