import type { RESTGetAPIGuildStickerResult, RESTGetAPIGuildStickersResult, RESTGetAPIStickerPackResult, RESTGetStickerPacksResult, RESTPatchAPIGuildStickerJSONBody, RESTPatchAPIGuildStickerResult, RESTPostAPIGuildStickerFormDataBody, RESTPostAPIGuildStickerResult, Snowflake } from "discord-api-types/v10";
import type { RawFile } from "../types/file.ts";
/**
 * Returns a sticker object for the given sticker ID.
 * @param sticker The sticker to get
 */
export declare function getSticker(sticker: Snowflake): Promise<RESTGetAPIGuildStickerResult>;
/**
 * Returns a list of available sticker packs.
 */
export declare function listStickerPacks(): Promise<RESTGetStickerPacksResult["sticker_packs"]>;
/**
 * Returns a sticker pack object for the given sticker pack ID.
 * @param pack The pack to get the stickers from
 */
export declare function getStickerPack(pack: Snowflake): Promise<RESTGetAPIStickerPackResult>;
/**
 * Returns an array of sticker objects.
 * @param guild The guild to get the stickers from
 */
export declare function listStickers(guild: Snowflake): Promise<RESTGetAPIGuildStickersResult>;
/**
 * Returns a sticker object for the given guild and sticker IDs.
 * @param guild The guild to get the sticker from
 * @param sticker The sticker to get
 */
export declare function getGuildSticker(guild: Snowflake, sticker: Snowflake): Promise<RESTGetAPIGuildStickerResult>;
/**
 * Create a new sticker for the guild.
 * @param guild The guild to create the sticker in
 * @param data The sticker data
 */
export declare function createSticker(guild: Snowflake, { file, ...data }: Omit<RESTPostAPIGuildStickerFormDataBody, "file"> & {
    file: RawFile;
}): Promise<RESTPostAPIGuildStickerResult>;
/**
 * Modify the given sticker.
 * @param guild The guild the sticker is in
 * @param sticker The sticker to modify
 * @param data The new sticker data
 */
export declare function modifySticker(guild: Snowflake, sticker: Snowflake, data: RESTPatchAPIGuildStickerJSONBody): Promise<RESTPatchAPIGuildStickerResult>;
/**
 * Delete the given sticker.
 * @param guild The guild the sticker is in
 * @param sticker The sticker to delete
 */
export declare function deleteSticker(guild: Snowflake, sticker: Snowflake): Promise<void>;
