export type SharedObjectRef = {
    objectId: string;
    initialSharedVersion: number | string;
    mutable: boolean;
};
export type WowObjectRef = {
    objectId: string;
    version: number | string;
    digest: string;
};
export type ObjectArg = {
    ImmOrOwnedObject: WowObjectRef;
} | {
    SharedObject: SharedObjectRef;
} | {
    Receiving: WowObjectRef;
};
export type ObjectCallArg = {
    Object: ObjectArg;
};
export type PureArg = {
    Pure: Array<number>;
};
export declare function isPureArg(arg: any): arg is PureArg;
export type CallArg = PureArg | ObjectCallArg;
export type StructTag = {
    address: string;
    module: string;
    name: string;
    typeParams: TypeTag[];
};
export type TypeTag = {
    bool: null | true;
} | {
    u8: null | true;
} | {
    u64: null | true;
} | {
    u128: null | true;
} | {
    address: null | true;
} | {
    signer: null | true;
} | {
    vector: TypeTag;
} | {
    struct: StructTag;
} | {
    u16: null | true;
} | {
    u32: null | true;
} | {
    u256: null | true;
};
export type GasData = {
    payment: WowObjectRef[];
    owner: string;
    price: number;
    budget: number;
};
export type TransactionExpiration = {
    None: null;
} | {
    Epoch: number;
};
