import { ApiMixSuiFrensBody, MixSuiFrensEvent, SuiFrenStats, DynamicFieldObjectsWithCursor, EventsInputs, StakeSuiFrenEvent, UnstakeSuiFrenEvent, SuiFrenAttributes, CapyLabsAppObject, DynamicFieldsInputs, Balance, SuiFrensSortOption, SuiFrenAccessoryObject, ApiOwnedSuiFrenAccessoriesBody, ApiOwnedSuiFrensBody, ApiOwnedStakedSuiFrensBody, ApiHarvestSuiFrenFeesBody, HarvestSuiFrenFeesEvent, ObjectId, CallerConfig } from "../../types";
import { SuiFren } from "./suiFren";
import { StakedSuiFren } from "./stakedSuiFren";
import { Caller } from "../../general/utils/caller";
import { AftermathApi } from "../../general/providers";
export declare class SuiFrens extends Caller {
    private readonly Provider?;
    static readonly constants: {
        mixingFeeCoinType: string;
        protocolFees: {
            mint: bigint;
            mixOwned: bigint;
            minMixStaked: bigint;
            mixStakedPercentage: number;
        };
        suifrenFees: {
            mint: bigint;
        };
    };
    constructor(config?: CallerConfig, Provider?: AftermathApi | undefined);
    static calcTotalInternalMixFee(inputs: {
        mixFee1: Balance | undefined;
        mixFee2: Balance | undefined;
    }): Balance;
    private static calcMixFeeForStakedSuiFren;
    getSuiFren(inputs: {
        suiFrenObjectId: ObjectId;
    }): Promise<SuiFren>;
    getSuiFrens(inputs: {
        suiFrenObjectIds: ObjectId[];
    }): Promise<SuiFren[]>;
    getOwnedSuiFrens(inputs: ApiOwnedSuiFrensBody): Promise<SuiFren[]>;
    getOwnedStakedSuiFrens(inputs: ApiOwnedStakedSuiFrensBody): Promise<StakedSuiFren[]>;
    getAllStakedSuiFrens(inputs: {
        attributes: Partial<SuiFrenAttributes>;
        sortBy?: SuiFrensSortOption;
    } & DynamicFieldsInputs): Promise<DynamicFieldObjectsWithCursor<StakedSuiFren>>;
    getStakedSuiFrens(inputs: {
        stakedSuiFrenIds: ObjectId[];
    }): Promise<StakedSuiFren[]>;
    getCapyLabsApp(): Promise<CapyLabsAppObject>;
    getOwnedAccessories(inputs: ApiOwnedSuiFrenAccessoriesBody): Promise<SuiFrenAccessoryObject[]>;
    getHarvestFeesEvents(inputs: EventsInputs): Promise<import("../../types").EventsWithCursor<HarvestSuiFrenFeesEvent>>;
    getMixEvents(inputs: EventsInputs): Promise<import("../../types").EventsWithCursor<MixSuiFrensEvent>>;
    getStakeEvents(inputs: EventsInputs): Promise<import("../../types").EventsWithCursor<StakeSuiFrenEvent>>;
    getUnstakeEvents(inputs: EventsInputs): Promise<import("../../types").EventsWithCursor<UnstakeSuiFrenEvent>>;
    getMixTransaction(inputs: ApiMixSuiFrensBody): Promise<import("@mysten/sui/transactions").Transaction>;
    getHarvestFeesTransaction(inputs: ApiHarvestSuiFrenFeesBody): Promise<import("@mysten/sui/transactions").Transaction>;
    getStats(): Promise<SuiFrenStats>;
    static suiFren(suiFren: SuiFren | StakedSuiFren | undefined): SuiFren | undefined;
    static suiFrenId(suiFren: SuiFren | StakedSuiFren | undefined): ObjectId | undefined;
    static mixFee(suiFren: SuiFren | StakedSuiFren | undefined): Balance | undefined;
    private static createStakedSuiFrensQueryString;
    private useProvider;
}
//# sourceMappingURL=suiFrens.d.ts.map