import { TokenCreator } from "../interfaces/interfaces.js";
import { Keypair, PublicKey } from "@solana/web3.js";
import { TokenCreateParams } from "../models/params.js";
declare class SolTokenCreator implements TokenCreator {
    private readonly rpcUrl;
    private readonly connection;
    constructor(rpcUrl: string);
    createToken(tokenInfo: TokenCreateParams, ownerKeypair: Keypair, revokeMintAuthority: boolean, revokeFreezeAuthority: boolean): Promise<string>;
    mintToken(tokenKeypair: Keypair, ownerKeypair: Keypair): Promise<PublicKey>;
    createTokenAccount(mintAddress: PublicKey, ownerKeypair: Keypair): Promise<PublicKey>;
    supplyToken(mintAddress: PublicKey, tokenAccount: PublicKey, ownerKeypair: Keypair, amount: number): Promise<string>;
    createTokenMetadata(mintAddress: string, tokenInfo: TokenCreateParams, ownerKeypair: Keypair): Promise<undefined>;
    uploadMetadataToStorage(metadata: any): Promise<string | undefined>;
    updateTokenMetadata(keypair: Keypair, mintAddress: string, name: string, symbol: string, decimals: number, uri: string): Promise<{
        metadataAddress: import("@metaplex-foundation/umi").PublicKey<string>;
        uri: string;
        signature: string;
    } | undefined>;
    revokeMintAuthority(mintAddress: PublicKey, ownerKeypair: Keypair): Promise<string>;
    revokeFreezeAuthority(mintAddress: PublicKey, ownerKeypair: Keypair): Promise<string>;
}
export default SolTokenCreator;
//# sourceMappingURL=sol.token.creator.d.ts.map