import { Model, ObjectId } from 'mongoose';
interface IRouter {
    router: string;
    fee: number;
    poolId: number;
    isLPBurn: boolean;
    per: number;
}
interface IMemeTokenMetaInfo {
    logo: string;
    banner: string;
    twitter: string;
    telegram: string;
    website: string;
    discord: string;
    board: string;
    boardOwner: string;
    seed: string;
    description: string;
}
interface ITokenInfo {
    name: string;
    symbol: string;
    decimals: number;
    totalSupply: number;
}
interface ILike {
    network: string;
    address: string;
}
export interface IMemeToken extends Document {
    id: string;
    _id?: ObjectId;
    __v?: number;
    chainId: number;
    address: string;
    packageIndex: number;
    owner: string;
    ownerName: string;
    referrer: string;
    volume: number;
    reserveToken: number;
    reserveETH: number;
    currentPrice: number;
    initialETH: number;
    initialToken: number;
    initialPrice: number;
    initialBuyAmount: number;
    isListed: boolean;
    isListedAt: number;
    isCancelled: boolean;
    isCancelledAt: number;
    isHardCapReached: boolean;
    isHardCapReachedAt: number;
    isXSale: boolean;
    keyForXSale: string;
    hardCap: number;
    softCap: number;
    softPercent: number;
    hardPercent: number;
    initialMarketCap: number;
    currentMarketCap: number;
    maxAllocationPerUser: number;
    routers: IRouter[];
    metaUri: string;
    metaInfo: IMemeTokenMetaInfo;
    metaInfoUpdatedAt: number;
    isWhitelist: boolean;
    whitelistId: string;
    whitelist: string[];
    whitelistMerkleRoot: string;
    maxAllocationPerWhitelistedUser: number;
    whitelistUpdatedAt: number;
    tokenInfo: ITokenInfo;
    txCount: number;
    likedBy: ILike[];
    cntComments: number;
    raiseTokenAddress: string;
    raiseTokenDecimals: number;
    buyReferralFee: number;
    sellTokenOwnerFee: number;
    buyTokenOwnerFee: number;
    listingFee: number;
    listingReferralFee: number;
    buyPlatformFeePer: number;
    sellPlatformFeePer: number;
    startTime: Date;
    endTime: Date;
    createdAt: Date;
}
export declare const MemeTokenModel: Model<IMemeToken>;
export {};
