import { z } from 'zod';
import { Blockchain } from '../../chains';
/**
 * Parameters for publishing a launchpad
 */
export declare const BasePublishLaunchpadParamsSchema: z.ZodObject<{
    /**
     * The chain to publish the launchpad on
     */
    chain: z.ZodNativeEnum<typeof Blockchain>;
}, "strip", z.ZodTypeAny, {
    chain: Blockchain;
}, {
    chain: Blockchain;
}>;
/**
 * Evm-specific parameters for publishing a launchpad
 */
export declare const EvmPublishLaunchpadParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
    /**
     * The chain to publish the launchpad on
     */
    chain: z.ZodNativeEnum<typeof Blockchain>;
}, {
    /**
     * The EVM chain to publish the launchpad on
     */
    chain: z.ZodEnum<[Blockchain.ETHEREUM, Blockchain.BASE, Blockchain.POLYGON, Blockchain.SEI, Blockchain.ARBITRUM, Blockchain.APECHAIN, Blockchain.BERACHAIN, Blockchain.MONAD_TESTNET, Blockchain.BSC, Blockchain.ABSTRACT]>;
}>, "strip", z.ZodTypeAny, {
    chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT;
}, {
    chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT;
}>;
/**
 * Solana-specific parameters for publishing a launchpad
 */
export declare const SolanaPublishLaunchpadParamsSchema: z.ZodObject<z.objectUtil.extendShape<{
    /**
     * The chain to publish the launchpad on
     */
    chain: z.ZodNativeEnum<typeof Blockchain>;
}, {
    /**
     * The chain to publish the launchpad on
     *
     * Only used for Solana, so this should always be `Blockchain.SOLANA`.
     *
     * @default Blockchain.SOLANA
     */
    chain: z.ZodLiteral<Blockchain.SOLANA>;
    /**
     * The candy machine ID
     */
    candyMachineId: z.ZodString;
    /**
     * The symbol of the launchpad/collection
     */
    symbol: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
    symbol: string;
    chain: Blockchain.SOLANA;
    candyMachineId: string;
}, {
    symbol: string;
    chain: Blockchain.SOLANA;
    candyMachineId: string;
}>;
export type EvmPublishLaunchpadParams = z.infer<typeof EvmPublishLaunchpadParamsSchema>;
export type SolanaPublishLaunchpadParams = z.infer<typeof SolanaPublishLaunchpadParamsSchema>;
export declare const PublishLaunchpadParams: z.ZodUnion<[z.ZodObject<z.objectUtil.extendShape<{
    /**
     * The chain to publish the launchpad on
     */
    chain: z.ZodNativeEnum<typeof Blockchain>;
}, {
    /**
     * The EVM chain to publish the launchpad on
     */
    chain: z.ZodEnum<[Blockchain.ETHEREUM, Blockchain.BASE, Blockchain.POLYGON, Blockchain.SEI, Blockchain.ARBITRUM, Blockchain.APECHAIN, Blockchain.BERACHAIN, Blockchain.MONAD_TESTNET, Blockchain.BSC, Blockchain.ABSTRACT]>;
}>, "strip", z.ZodTypeAny, {
    chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT;
}, {
    chain: Blockchain.ETHEREUM | Blockchain.POLYGON | Blockchain.BASE | Blockchain.SEI | Blockchain.ARBITRUM | Blockchain.APECHAIN | Blockchain.BERACHAIN | Blockchain.MONAD_TESTNET | Blockchain.BSC | Blockchain.ABSTRACT;
}>, z.ZodObject<z.objectUtil.extendShape<{
    /**
     * The chain to publish the launchpad on
     */
    chain: z.ZodNativeEnum<typeof Blockchain>;
}, {
    /**
     * The chain to publish the launchpad on
     *
     * Only used for Solana, so this should always be `Blockchain.SOLANA`.
     *
     * @default Blockchain.SOLANA
     */
    chain: z.ZodLiteral<Blockchain.SOLANA>;
    /**
     * The candy machine ID
     */
    candyMachineId: z.ZodString;
    /**
     * The symbol of the launchpad/collection
     */
    symbol: z.ZodEffects<z.ZodString, string, string>;
}>, "strip", z.ZodTypeAny, {
    symbol: string;
    chain: Blockchain.SOLANA;
    candyMachineId: string;
}, {
    symbol: string;
    chain: Blockchain.SOLANA;
    candyMachineId: string;
}>]>;
export type PublishLaunchpadParams = z.infer<typeof PublishLaunchpadParams>;
