import { SmartContractInfo } from "../../interfaces/SmartContractInfo.js";
import { CommonOptions } from "@openzeppelin/wizard/dist/common-options.js";
import { ERC721smartContractInfo } from "../../interfaces/ERC721smartContractInfo.js";
import { ERC20smartContractInfo } from "../../interfaces/ERC20smartContractInfo.js";
export interface ERC20Options extends CommonOptions {
    name: string;
    symbol: string;
    burnable?: boolean;
    snapshots?: boolean;
    pausable?: boolean;
    premint?: string;
    mintable?: boolean;
    permit?: boolean;
    votes?: boolean;
    flashmint?: boolean;
}
export interface ERC721Options extends CommonOptions {
    name: string;
    symbol: string;
    baseUri?: string;
    enumerable?: boolean;
    uriStorage?: boolean;
    burnable?: boolean;
    pausable?: boolean;
    mintable?: boolean;
    incremental?: boolean;
    votes?: boolean;
}
export interface ERC1155Options extends CommonOptions {
    name: string;
    uri: string;
    burnable?: boolean;
    pausable?: boolean;
    mintable?: boolean;
    supply?: boolean;
    updatableUri?: boolean;
}
export declare const buildSmartContract: (smartContractInfo: SmartContractInfo | ERC721smartContractInfo | ERC20smartContractInfo, backendFolder: string) => void;
