/// <reference types="node" />
import { coin as COIN, Transport } from '@coolwallet/core';
import * as types from './config/types';
declare class Solana extends COIN.EDDSACoin implements COIN.Coin {
    constructor();
    isValidPublicKey(publicKey: types.Address): boolean;
    getAddress(transport: Transport, appPrivateKey: string, appId: string, addressIndex: number): Promise<string>;
    createWithSeed(fromPublicKey: types.Address, seed: string, programId: types.Address): Promise<string>;
    findProgramAddress(seeds: Array<Buffer | Uint8Array>, programId: types.Address): [string, number];
    signTransferTransaction(signTxData: types.signTransferTransactionType): Promise<string>;
    signTransferSplTokenTransaction(signTxData: types.signTransferSplTokenTransactionType): Promise<string>;
    signCreateAndTransferSPLToken(signTxData: types.signCreateAndTransferSplTokenTransaction): Promise<string>;
    signUndelegate(signTxData: types.signUndelegateType): Promise<string>;
    signDelegateAndCreateAccountWithSeed(signTxData: types.signDelegateAndCreateAccountWithSeedType): Promise<string>;
    signStackingWithdrawTransaction(signTxData: types.signStakingWithdrawType): Promise<string>;
    signSignInMessage(signMsgData: types.signSignInMessageType): Promise<string>;
    signMessage(signMsgData: types.signMessageType): Promise<string>;
    signTransaction(signTxData: types.signVersionedTransactionType): Promise<string>;
    signAllTransactions(signTxData: types.signVersionedTransactions): Promise<string[]>;
}
export { types };
export { LAMPORTS_PER_SOL, SYSTEM_PROGRAM_ID, TOKEN_PROGRAM_ID, TOKEN_2022_PROGRAM_ID, STAKE_PROGRAM_ID, STAKE_CONFIG_ID, ASSOCIATED_TOKEN_PROGRAM_ID, SYSVAR_RENT_PUBKEY, SYSVAR_CLOCK_PUBKEY, SYSVAR_STAKE_HISTORY_PUBKEY, } from './config/params';
export default Solana;
