import { type Address, type Drift, type HexString, type ReadContract, type ReadWriteAdapter, type ReadWriteContract } from "@delvtech/drift";
import { FlaunchZapAbi } from "../abi/FlaunchZap";
import type { FlaunchParams, FlaunchWithDynamicSplitManagerParams } from "./FlaunchZapClient";
export type FlaunchZapMultichainABI = typeof FlaunchZapAbi;
type FlaunchParamsMultichain = {
    name: string;
    symbol: string;
    tokenUri: string;
    premineAmount: bigint;
    creator: Address;
    creatorFeeAllocation: number;
    flaunchAt: bigint;
    initialPriceParams: HexString;
    feeCalculatorParams: HexString;
};
/** Minimal read client for the multichain FlaunchZap deployment family. */
export declare class ReadFlaunchZapMultichain {
    readonly contract: ReadContract<FlaunchZapMultichainABI>;
    constructor(address: Address, drift?: Drift);
    protected prepareFlaunch(params: FlaunchParams): FlaunchParamsMultichain;
    protected calculateFee(params: FlaunchParamsMultichain): Promise<bigint>;
}
/** Minimal write client for standard launches on multichain deployments. */
export declare class ReadWriteFlaunchZapMultichain extends ReadFlaunchZapMultichain {
    contract: ReadWriteContract<FlaunchZapMultichainABI>;
    constructor(address: Address, drift?: Drift<ReadWriteAdapter>);
    flaunch(params: FlaunchParams): Promise<`0x${string}`>;
    flaunchWithDynamicSplitManager(chainId: number, params: FlaunchWithDynamicSplitManagerParams): Promise<`0x${string}`>;
}
export {};
//# sourceMappingURL=FlaunchZapMultichainClient.d.ts.map