import { Deserializer } from '../../bcs/deserializer.mjs';
import { Serializable, Serializer } from '../../bcs/serializer.mjs';
import { AccountAddress } from '../../core/accountAddress.mjs';
import { RawTransaction } from './rawTransaction.mjs';
import '../../types/index.mjs';
import '../../utils/apiEndpoints.mjs';
import '../../types/indexer.mjs';
import '../../types/generated/operations.mjs';
import '../../types/generated/types.mjs';
import '../../core/hex.mjs';
import '../../core/common.mjs';
import './transactionArgument.mjs';
import './chainId.mjs';
import './transactionPayload.mjs';
import './identifier.mjs';
import './moduleId.mjs';
import '../typeTag/index.mjs';

/**
 * Representation of a SimpleTransaction that can serialized and deserialized
 */
declare class SimpleTransaction extends Serializable {
    rawTransaction: RawTransaction;
    feePayerAddress?: AccountAddress | undefined;
    readonly secondarySignerAddresses: undefined;
    /**
     * SimpleTransaction represents a simple transaction type of a single signer that
     * can be submitted to Aptos chain for execution.
     *
     * SimpleTransaction metadata contains the Raw Transaction and an optional
     * sponsor Account Address to pay the gas fees.
     *
     * @param rawTransaction The Raw Tranasaction
     * @param feePayerAddress The sponsor Account Address
     */
    constructor(rawTransaction: RawTransaction, feePayerAddress?: AccountAddress);
    serialize(serializer: Serializer): void;
    static deserialize(deserializer: Deserializer): SimpleTransaction;
}

export { SimpleTransaction };
