import type { ObjectOwner, SuiArgument, SuiObjectChange, SuiObjectRef, SuiParsedData, SuiTransaction } from "@mysten/sui/client"; /** * All possible `ObjectOwner` subtypes. */ type OwnerKeys = ObjectOwner extends infer T ? T extends Record ? keyof T : T extends string ? T : never : never; /** * An `ObjectOwner` of a specific kind. * ``` */ export type OwnerKind = Extract | K>; /** * Type guard to check if an `ObjectOwner` is of a specific kind. */ export declare function isOwnerKind(owner: ObjectOwner, kind: K): owner is OwnerKind; /** * All possible `SuiArgument` subtypes. */ type ArgKeys = SuiArgument extends infer T ? T extends Record ? keyof T : T extends string ? T : never : never; /** * A `SuiArgument` of a specific kind. */ export type ArgKind = Extract | K>; /** * Type guard to check if a `SuiArgument` is of a specific kind. */ export declare function isArgKind(arg: SuiArgument, kind: K): arg is ArgKind; /** * All possible `SuiObjectChange` subtypes. */ type ObjChangeKeys = SuiObjectChange extends { type: infer T; } ? T : never; /** * A `SuiObjChange` of a specific kind. */ export type ObjChangeKind = Extract; /** * Type guard to check if a `SuiObjectChange` is of a specific kind. */ export declare function isObjChangeKind(change: SuiObjectChange, kind: K): change is ObjChangeKind; /** Type guard to check if an object is a `SuiObjectRef`. */ export declare function isSuiObjectRef(obj: unknown): obj is SuiObjectRef; /** * All possible `SuiParsedData` subtypes. */ type ParsedDataKeys = SuiParsedData extends infer T ? T extends { dataType: infer DT; } ? DT : never : never; /** * A `SuiParsedData` of a specific kind. */ export type ParsedDataKind = Extract; /** * Type guard to check if a `SuiParsedData` is of a specific kind. */ export declare function isParsedDataKind(data: SuiParsedData, kind: K): data is ParsedDataKind; /** * All possible `SuiTransaction` subtypes. */ type TxKeys = SuiTransaction extends infer T ? T extends Record ? keyof T : never : never; /** * A `SuiTransaction` of a specific kind. */ export type TxKind = Extract | K>; /** * Type guard to check if a `SuiTransaction` is of a specific kind. */ export declare function isTxKind(tx: SuiTransaction, kind: K): tx is TxKind; export {};