import { Signer, BigNumberish } from 'ethers';
import { KAMI1155CWrapper } from '../contracts/KAMI1155CWrapper';
import { SignerOrProvider } from '../types';
/**
 * Arguments required for deploying a standard KAMI1155C contract.
 */
export interface KAMI1155CDeployArgs {
    paymentToken_: string;
    name_: string;
    symbol_: string;
    baseTokenURI_: string;
    initialMintPrice_: BigNumberish;
    platformAddress_: string;
    platformCommissionPercentage_: BigNumberish;
}
/**
 * Arguments required for initializing the upgradeable KAMI1155C contract.
 * Matches the DeployArgs for the standard version in this case.
 */
export type KAMI1155CInitializeArgs = KAMI1155CDeployArgs;
export declare class KAMI1155CFactory {
    /**
     * Attaches to an existing standard KAMI1155C contract.
     */
    static attach(address: string, signerOrProvider: SignerOrProvider): KAMI1155CWrapper;
    /**
     * Attaches to an existing upgradeable KAMI1155C contract (proxy).
     * Uses the KAMI1155CUpgradeable ABI.
     */
    static attachUpgradeable(proxyAddress: string, signerOrProvider: SignerOrProvider): KAMI1155CWrapper;
    /**
     * Deploys a new standard KAMI1155C contract.
     */
    static deploy(args: KAMI1155CDeployArgs, signer: Signer): Promise<KAMI1155CWrapper>;
    /**
     * Deploys a new upgradeable KAMI1155C contract using the Transparent Proxy pattern.
     * @param initArgs The arguments for the initializer function.
     * @param signer The signer to use for deployment.
     * @param proxyAdminOwner (Optional) The address that will own the ProxyAdmin. Defaults to the signer.
     * @returns A Promise resolving to a KAMI1155CWrapper instance attached to the proxy address.
     */
    static deployUpgradeable(initArgs: KAMI1155CInitializeArgs, signer: Signer, proxyAdminOwner?: string): Promise<KAMI1155CWrapper>;
    /**
     * Initiates an upgrade of a KAMI1155C transparent proxy.
     * Deploys the new KAMI1155CUpgradeable implementation.
     * @param signer The signer for deployment.
     * @returns The address of the newly deployed implementation contract.
     */
    static deployNewImplementation(signer: Signer): Promise<string>;
}
//# sourceMappingURL=KAMI1155CFactory.d.ts.map