import { type Address, type Chain } from 'viem'; import type { EditionConfig, MintConfig, TransactionGasOptions } from '../../types'; import { SoundClientInstance } from '../instance'; export declare function estimateCreateEdition(this: SoundClientInstance, { creatorAddress }: { creatorAddress: Address; }, { editionConfig, mintConfigs, salt: customSalt, gas, maxFeePerGas, maxPriorityFeePerGas, }: { editionConfig: EditionConfig; mintConfigs: MintConfig[]; salt?: string | number; } & TransactionGasOptions): Promise; export interface CreateEditionOptions extends TransactionGasOptions { editionConfig: EditionConfig; mintConfigs: MintConfig[]; chain: Chain; salt?: string | number; } export declare function createEdition(this: SoundClientInstance, { creatorAddress }: { creatorAddress: Address; }, { editionConfig, mintConfigs, salt: customSalt, chain, gas, maxFeePerGas, maxPriorityFeePerGas, }: CreateEditionOptions): Promise<`0x${string}`>; export declare function validateEditionConfig(config: EditionConfig): void; export declare function validateMintConfigs(mintConfigs: MintConfig[]): void; export declare function expectedEditionAddress(this: SoundClientInstance, { creatorAddress, }: { creatorAddress: Address; }, { deployer, salt: customSalt }: { deployer: Address; salt: string | number; }): Promise<{ editionAddress: `0x${string}`; exists: boolean; }>;