import * as types from "../types";
import * as borsh from "@coral-xyz/borsh";
export interface EmergencyModeJSON {
    kind: "EmergencyMode";
}
export declare class EmergencyMode {
    static readonly discriminator = 0;
    static readonly kind = "EmergencyMode";
    readonly discriminator = 0;
    readonly kind = "EmergencyMode";
    toJSON(): EmergencyModeJSON;
    toEncodable(): {
        EmergencyMode: {};
    };
}
export interface BlockDepositJSON {
    kind: "BlockDeposit";
}
export declare class BlockDeposit {
    static readonly discriminator = 1;
    static readonly kind = "BlockDeposit";
    readonly discriminator = 1;
    readonly kind = "BlockDeposit";
    toJSON(): BlockDepositJSON;
    toEncodable(): {
        BlockDeposit: {};
    };
}
export interface BlockInvestJSON {
    kind: "BlockInvest";
}
export declare class BlockInvest {
    static readonly discriminator = 2;
    static readonly kind = "BlockInvest";
    readonly discriminator = 2;
    readonly kind = "BlockInvest";
    toJSON(): BlockInvestJSON;
    toEncodable(): {
        BlockInvest: {};
    };
}
export interface BlockWithdrawJSON {
    kind: "BlockWithdraw";
}
export declare class BlockWithdraw {
    static readonly discriminator = 3;
    static readonly kind = "BlockWithdraw";
    readonly discriminator = 3;
    readonly kind = "BlockWithdraw";
    toJSON(): BlockWithdrawJSON;
    toEncodable(): {
        BlockWithdraw: {};
    };
}
export interface BlockCollectFeesJSON {
    kind: "BlockCollectFees";
}
export declare class BlockCollectFees {
    static readonly discriminator = 4;
    static readonly kind = "BlockCollectFees";
    readonly discriminator = 4;
    readonly kind = "BlockCollectFees";
    toJSON(): BlockCollectFeesJSON;
    toEncodable(): {
        BlockCollectFees: {};
    };
}
export interface BlockCollectRewardsJSON {
    kind: "BlockCollectRewards";
}
export declare class BlockCollectRewards {
    static readonly discriminator = 5;
    static readonly kind = "BlockCollectRewards";
    readonly discriminator = 5;
    readonly kind = "BlockCollectRewards";
    toJSON(): BlockCollectRewardsJSON;
    toEncodable(): {
        BlockCollectRewards: {};
    };
}
export interface BlockSwapRewardsJSON {
    kind: "BlockSwapRewards";
}
export declare class BlockSwapRewards {
    static readonly discriminator = 6;
    static readonly kind = "BlockSwapRewards";
    readonly discriminator = 6;
    readonly kind = "BlockSwapRewards";
    toJSON(): BlockSwapRewardsJSON;
    toEncodable(): {
        BlockSwapRewards: {};
    };
}
export interface BlockSwapUnevenVaultsJSON {
    kind: "BlockSwapUnevenVaults";
}
export declare class BlockSwapUnevenVaults {
    static readonly discriminator = 7;
    static readonly kind = "BlockSwapUnevenVaults";
    readonly discriminator = 7;
    readonly kind = "BlockSwapUnevenVaults";
    toJSON(): BlockSwapUnevenVaultsJSON;
    toEncodable(): {
        BlockSwapUnevenVaults: {};
    };
}
export interface WithdrawalFeeBpsJSON {
    kind: "WithdrawalFeeBps";
}
export declare class WithdrawalFeeBps {
    static readonly discriminator = 8;
    static readonly kind = "WithdrawalFeeBps";
    readonly discriminator = 8;
    readonly kind = "WithdrawalFeeBps";
    toJSON(): WithdrawalFeeBpsJSON;
    toEncodable(): {
        WithdrawalFeeBps: {};
    };
}
export interface SwapDiscountBpsJSON {
    kind: "SwapDiscountBps";
}
export declare class SwapDiscountBps {
    static readonly discriminator = 9;
    static readonly kind = "SwapDiscountBps";
    readonly discriminator = 9;
    readonly kind = "SwapDiscountBps";
    toJSON(): SwapDiscountBpsJSON;
    toEncodable(): {
        SwapDiscountBps: {};
    };
}
export interface ActionsAuthorityJSON {
    kind: "ActionsAuthority";
}
export declare class ActionsAuthority {
    static readonly discriminator = 10;
    static readonly kind = "ActionsAuthority";
    readonly discriminator = 10;
    readonly kind = "ActionsAuthority";
    toJSON(): ActionsAuthorityJSON;
    toEncodable(): {
        ActionsAuthority: {};
    };
}
export interface DeprecatedTreasuryFeeVaultsJSON {
    kind: "DeprecatedTreasuryFeeVaults";
}
export declare class DeprecatedTreasuryFeeVaults {
    static readonly discriminator = 11;
    static readonly kind = "DeprecatedTreasuryFeeVaults";
    readonly discriminator = 11;
    readonly kind = "DeprecatedTreasuryFeeVaults";
    toJSON(): DeprecatedTreasuryFeeVaultsJSON;
    toEncodable(): {
        DeprecatedTreasuryFeeVaults: {};
    };
}
export interface AdminAuthorityJSON {
    kind: "AdminAuthority";
}
export declare class AdminAuthority {
    static readonly discriminator = 12;
    static readonly kind = "AdminAuthority";
    readonly discriminator = 12;
    readonly kind = "AdminAuthority";
    toJSON(): AdminAuthorityJSON;
    toEncodable(): {
        AdminAuthority: {};
    };
}
export interface BlockEmergencySwapJSON {
    kind: "BlockEmergencySwap";
}
export declare class BlockEmergencySwap {
    static readonly discriminator = 13;
    static readonly kind = "BlockEmergencySwap";
    readonly discriminator = 13;
    readonly kind = "BlockEmergencySwap";
    toJSON(): BlockEmergencySwapJSON;
    toEncodable(): {
        BlockEmergencySwap: {};
    };
}
export interface BlockLocalAdminJSON {
    kind: "BlockLocalAdmin";
}
export declare class BlockLocalAdmin {
    static readonly discriminator = 14;
    static readonly kind = "BlockLocalAdmin";
    readonly discriminator = 14;
    readonly kind = "BlockLocalAdmin";
    toJSON(): BlockLocalAdminJSON;
    toEncodable(): {
        BlockLocalAdmin: {};
    };
}
export interface UpdateTokenInfosJSON {
    kind: "UpdateTokenInfos";
}
export declare class UpdateTokenInfos {
    static readonly discriminator = 15;
    static readonly kind = "UpdateTokenInfos";
    readonly discriminator = 15;
    readonly kind = "UpdateTokenInfos";
    toJSON(): UpdateTokenInfosJSON;
    toEncodable(): {
        UpdateTokenInfos: {};
    };
}
export interface ScopeProgramIdJSON {
    kind: "ScopeProgramId";
}
export declare class ScopeProgramId {
    static readonly discriminator = 16;
    static readonly kind = "ScopeProgramId";
    readonly discriminator = 16;
    readonly kind = "ScopeProgramId";
    toJSON(): ScopeProgramIdJSON;
    toEncodable(): {
        ScopeProgramId: {};
    };
}
export interface ScopePriceIdJSON {
    kind: "ScopePriceId";
}
export declare class ScopePriceId {
    static readonly discriminator = 17;
    static readonly kind = "ScopePriceId";
    readonly discriminator = 17;
    readonly kind = "ScopePriceId";
    toJSON(): ScopePriceIdJSON;
    toEncodable(): {
        ScopePriceId: {};
    };
}
export interface MinPerformanceFeeBpsJSON {
    kind: "MinPerformanceFeeBps";
}
export declare class MinPerformanceFeeBps {
    static readonly discriminator = 18;
    static readonly kind = "MinPerformanceFeeBps";
    readonly discriminator = 18;
    readonly kind = "MinPerformanceFeeBps";
    toJSON(): MinPerformanceFeeBpsJSON;
    toEncodable(): {
        MinPerformanceFeeBps: {};
    };
}
export interface MinSwapUnevenSlippageToleranceBpsJSON {
    kind: "MinSwapUnevenSlippageToleranceBps";
}
export declare class MinSwapUnevenSlippageToleranceBps {
    static readonly discriminator = 19;
    static readonly kind = "MinSwapUnevenSlippageToleranceBps";
    readonly discriminator = 19;
    readonly kind = "MinSwapUnevenSlippageToleranceBps";
    toJSON(): MinSwapUnevenSlippageToleranceBpsJSON;
    toEncodable(): {
        MinSwapUnevenSlippageToleranceBps: {};
    };
}
export interface MinReferencePriceSlippageToleranceBpsJSON {
    kind: "MinReferencePriceSlippageToleranceBps";
}
export declare class MinReferencePriceSlippageToleranceBps {
    static readonly discriminator = 20;
    static readonly kind = "MinReferencePriceSlippageToleranceBps";
    readonly discriminator = 20;
    readonly kind = "MinReferencePriceSlippageToleranceBps";
    toJSON(): MinReferencePriceSlippageToleranceBpsJSON;
    toEncodable(): {
        MinReferencePriceSlippageToleranceBps: {};
    };
}
export interface ActionsAfterRebalanceDelaySecondsJSON {
    kind: "ActionsAfterRebalanceDelaySeconds";
}
export declare class ActionsAfterRebalanceDelaySeconds {
    static readonly discriminator = 21;
    static readonly kind = "ActionsAfterRebalanceDelaySeconds";
    readonly discriminator = 21;
    readonly kind = "ActionsAfterRebalanceDelaySeconds";
    toJSON(): ActionsAfterRebalanceDelaySecondsJSON;
    toEncodable(): {
        ActionsAfterRebalanceDelaySeconds: {};
    };
}
export interface TreasuryFeeVaultReceiverJSON {
    kind: "TreasuryFeeVaultReceiver";
}
export declare class TreasuryFeeVaultReceiver {
    static readonly discriminator = 22;
    static readonly kind = "TreasuryFeeVaultReceiver";
    readonly discriminator = 22;
    readonly kind = "TreasuryFeeVaultReceiver";
    toJSON(): TreasuryFeeVaultReceiverJSON;
    toEncodable(): {
        TreasuryFeeVaultReceiver: {};
    };
}
export declare function fromDecoded(obj: any): types.GlobalConfigOptionKind;
export declare function fromJSON(obj: types.GlobalConfigOptionJSON): types.GlobalConfigOptionKind;
export declare function layout(property?: string): borsh.EnumLayout<unknown>;
//# sourceMappingURL=GlobalConfigOption.d.ts.map