import type { ItemConfigPillEffectClass, ItemConfigPillEffectType, PillEffect } from "isaac-typescript-definitions";
import { PillColor } from "isaac-typescript-definitions";
/**
 * Helper function to get an array with every non-null pill color. This includes all gold colors and
 * all horse colors.
 */
export declare function getAllPillColors(): readonly PillColor[];
/**
 * Helper function to get the associated pill effect after False PHD is acquired. If a pill effect
 * is not altered by False PHD, then the same pill effect will be returned.
 */
export declare function getFalsePHDPillEffect(pillEffect: PillEffect): PillEffect;
/**
 * Helper function to get the corresponding horse pill color from a normal pill color.
 *
 * For example, passing `PillColor.BLUE_BLUE` would result in 2049, which is the value that
 * corresponds to the horse pill color for blue/blue.
 */
export declare function getHorsePillColor(pillColor: PillColor): PillColor;
/** Helper function to get an array with every non-gold horse pill color. */
export declare function getHorsePillColors(): readonly PillColor[];
/**
 * Helper function to get the corresponding normal pill color from a horse pill color.
 *
 * For example, passing 2049 would result in `PillColor.BLUE_BLUE`.
 *
 * If called with a non-horse pill color, this function will return back the same color.
 */
export declare function getNormalPillColorFromHorse(pillColor: PillColor): PillColor;
/** Helper function to get an array with every non-gold and non-horse pill color. */
export declare function getNormalPillColors(): readonly PillColor[];
/**
 * Helper function to get the associated pill effect after PHD is acquired. If a pill effect is not
 * altered by PHD, then the same pill effect will be returned.
 */
export declare function getPHDPillEffect(pillEffect: PillEffect): PillEffect;
/**
 * Helper function to get the corresponding pill color from an effect by repeatedly using the
 * `ItemPool.GetPillEffect` method.
 *
 * Note that this will return the corresponding effect even if the passed pill color is not yet
 * identified by the player.
 *
 * Returns `PillColor.NULL` if there is the corresponding pill color cannot be found.
 *
 * This function is especially useful in the `POST_USE_PILL` callback, since at that point, the used
 * pill is already consumed, and the callback only passes the effect. In this specific circumstance,
 * consider using the `POST_USE_PILL_FILTER` callback instead of the `POST_USE_PILL` callback, since
 * it correctly passes the color and handles the case of horse pills.
 */
export declare function getPillColorFromEffect(pillEffect: PillEffect): PillColor;
/**
 * Helper function to get a pill effect class from a PillEffect enum value. In this context, the
 * class is equal to the numerical prefix in the "class" tag in the "pocketitems.xml" file. Use the
 * `getPillEffectType` helper function to determine whether the pill effect is positive, negative,
 * or neutral.
 *
 * Due to limitations in the API, this function will not work properly for modded pill effects, and
 * will always return `DEFAULT_PILL_EFFECT_CLASS` in those cases.
 */
export declare function getPillEffectClass(pillEffect: PillEffect): ItemConfigPillEffectClass;
/**
 * Helper function to get a pill effect name from a `PillEffect`. Returns "Unknown" if the provided
 * pill effect is not valid.
 *
 * This function works for both vanilla and modded pill effects.
 *
 * For example, `getPillEffectName(PillEffect.BAD_GAS)` would return "Bad Gas".
 */
export declare function getPillEffectName(pillEffect: PillEffect): string;
/**
 * Helper function to get a pill effect type from a `PillEffect` enum value. In this context, the
 * type is equal to positive, negative, or neutral. This is derived from the suffix of the "class"
 * tag in the "pocketitems.xml" file. Use the `getPillEffectClass` helper function to determine the
 * "power" of the pill.
 *
 * Due to limitations in the API, this function will not work properly for modded pill effects, and
 * will always return `DEFAULT_PILL_EFFECT_TYPE` in those cases.
 */
export declare function getPillEffectType(pillEffect: PillEffect): ItemConfigPillEffectType;
export declare function getVanillaPillEffectsOfType(pillEffectType: ItemConfigPillEffectType): readonly PillEffect[];
/** Helper function to see if the given pill color is either a gold pill or a horse gold pill. */
export declare function isGoldPill(pillColor: PillColor): boolean;
/** Helper function to see if the given pill color is a horse pill. */
export declare function isHorsePill(pillColor: PillColor): boolean;
export declare function isModdedPillEffect(pillEffect: PillEffect): boolean;
export declare function isVanillaPillEffect(pillEffect: PillEffect): boolean;
//# sourceMappingURL=pills.d.ts.map