import { Point } from './point';
import { RangeProof } from './rangeProof';
import { Scalar } from './scalar';
import { Script } from './script';
import { TokenId } from './tokenId';
/** Represents a transaction output in a constructed confidential transaction. Also known as `CTxOut` on the C++ side.
 *
 * For code examples, see the `ctx.ts` class documentation.
 */
export declare class CTxOut {
    private obj;
    private rangeProofCache?;
    constructor(obj: any);
    /** Returns the value of the transaction output.
     * * @returns The value of the output.
     */
    getValue(): number;
    /** Returns the `scriptPubKey' of the transaction output.
     * * @returns The `scriptPubKey` of the output.
     */
    getScriptPubKey(): Script;
    /** Returns the token ID associated with the transaction output.
     * @returns The token ID of the output.
     */
    getTokenId(): TokenId;
    /** Returns the vector predicate of the transaction output.
     * * @returns The vector predicate as a hexadecimal string.
     */
    getVectorPredicate(): string;
    /** Returns the spending key associated with the transaction output.
     * @returns The spending key of the output.
     */
    getSpendingKey(): Scalar;
    /** Returns the ephemeral key associated with the transaction output.
     * @returns The ephemeral key of the output.
     */
    getEphemeralKey(): Point;
    /** Returns the blinding key associated with the transaction output.
     * @returns The blinding key of the output.
     */
    getBlindingKey(): Scalar;
    /** Returns the range proof associated with the transaction output.
     * @returns The range proof of the output.
     */
    getRangeProof(): RangeProof;
    /** Returns the view tag associated with the view of the transaction output.
     * @returns The view tag of the output.
     */
    getViewTag(): number;
}
