import type { Argument } from "./data/internal.js";
import type { Inputs } from "./Inputs.js";
import { createPure } from "./pure.js";
import type { Transaction, TransactionObjectArgument } from "./Transaction.js";
export declare const Arguments: {
    pure: ReturnType<typeof createPure<(tx: Transaction) => Argument>>;
    object: {
        (value: import("./Transaction.js").TransactionObjectInput): TransactionObjectArgument;
        system(options?: {
            mutable?: boolean;
        }): TransactionObjectArgument;
        clock(): TransactionObjectArgument;
        random(): TransactionObjectArgument;
        denyList(options?: {
            mutable?: boolean;
        }): TransactionObjectArgument;
        registrar(options?: {
            mutable?: boolean;
        }): TransactionObjectArgument;
        mutRegistrar(): TransactionObjectArgument;
        entity(options?: {
            mutable?: boolean;
        }): TransactionObjectArgument;
        mutEntity(): TransactionObjectArgument;
        option({ type, value, }: {
            type: string;
            value: import("./Transaction.js").TransactionObjectInput | null;
        }): (tx: Transaction) => import("./Transaction.js").TransactionResult;
    };
    sharedObjectRef: (args_0: {
        objectId: string;
        mutable: boolean;
        initialSharedVersion: number | string;
    }) => (tx: Transaction) => {
        $kind: "Input";
        Input: number;
        type?: "object";
    };
    objectRef: (args_0: {
        objectId: string;
        version: string | number;
        digest: string;
    }) => (tx: Transaction) => {
        $kind: "Input";
        Input: number;
        type?: "object";
    };
    receivingRef: (args_0: {
        objectId: string;
        version: string | number;
        digest: string;
    }) => (tx: Transaction) => {
        $kind: "Input";
        Input: number;
        type?: "object";
    };
};
