import { DynamicFieldInfo, DynamicFieldName } from "@mysten/sui/client";
import { AnyObjectType, DynamicFieldObjectsWithCursor, DynamicFieldsInputs, DynamicFieldsWithCursor, ObjectId } from "../../types";
import { AftermathApi } from "../providers/aftermathApi";
export declare class DynamicFieldsApiHelpers {
    private readonly Provider;
    private static readonly constants;
    constructor(Provider: AftermathApi);
    fetchCastDynamicFieldsOfTypeWithCursor: <ObjectType>(inputs: {
        parentObjectId: ObjectId;
        objectsFromObjectIds: (objectIds: ObjectId[]) => Promise<ObjectType[]>;
        dynamicFieldType?: AnyObjectType | ((objectType: AnyObjectType) => boolean);
        cursor?: ObjectId;
        limit?: number;
    }) => Promise<DynamicFieldObjectsWithCursor<ObjectType>>;
    fetchAllDynamicFieldsOfType: (inputs: {
        parentObjectId: ObjectId;
        dynamicFieldType?: AnyObjectType | ((objectType: AnyObjectType) => boolean);
        limitStepSize?: number;
    }) => Promise<DynamicFieldInfo[]>;
    fetchCastAllDynamicFieldsOfType: <ObjectType>(inputs: {
        parentObjectId: ObjectId;
        objectsFromObjectIds: (objectIds: ObjectId[]) => ObjectType[] | Promise<ObjectType[]>;
        dynamicFieldType?: AnyObjectType | ((objectType: AnyObjectType) => boolean);
        limitStepSize?: number;
    }) => Promise<ObjectType[]>;
    fetchDynamicFieldsUntil: <ObjectType>(inputs: {
        fetchFunc: (dynamicFieldsInputs: DynamicFieldsInputs) => Promise<DynamicFieldObjectsWithCursor<ObjectType>>;
        isComplete: (dynamicFieldObjects: ObjectType[]) => boolean;
        cursor?: ObjectId;
        limitStepSize?: number;
    }) => Promise<DynamicFieldObjectsWithCursor<ObjectType>>;
    fetchDynamicFieldsOfTypeWithCursor: (inputs: {
        parentObjectId: ObjectId;
        dynamicFieldType?: AnyObjectType | ((objectType: AnyObjectType) => boolean);
    } & DynamicFieldsInputs) => Promise<DynamicFieldsWithCursor>;
    fetchDynamicFieldObject: (inputs: {
        parentId: ObjectId;
        name: DynamicFieldName;
    }) => Promise<import("@mysten/sui/client").SuiObjectResponse>;
}
//# sourceMappingURL=dynamicFieldsApiHelpers.d.ts.map