import { type ApplicationEmojiStructure, type ApplicationStructure, type EntitlementStructure } from '../../client';
import type { RESTGetAPIEntitlementsQuery, RESTPatchAPIApplicationEmojiJSONBody, RESTPatchCurrentApplicationJSONBody, RESTPostAPIEntitlementBody } from '../../types';
import type { ApplicationEmojiResolvable } from '../types/resolvables';
import { BaseShorter } from './base';
export declare class ApplicationShorter extends BaseShorter {
    /**
     * Lists the emojis for the application.
     * @returns The emojis.
     */
    listEmojis(force?: boolean): Promise<ApplicationEmojiStructure[]>;
    /**
     * Gets an emoji for the application.
     * @param emojiId The ID of the emoji.
     * @returns The emoji.
     */
    getEmoji(emojiId: string, force?: boolean): Promise<ApplicationEmojiStructure>;
    /**
     * Creates a new emoji for the application.
     * @param body.name The name of the emoji.
     * @param body.image The [image data string](https://discord.com/developers/docs/reference#image-data) of the emoji.
     * @returns The created emoji.
     */
    createEmoji(raw: ApplicationEmojiResolvable): Promise<ApplicationEmojiStructure>;
    /**
     * Edits an emoji for the application.
     * @param emojiId The ID of the emoji.
     * @param body.name The new name of the emoji.
     * @returns The edited emoji.
     */
    editEmoji(emojiId: string, body: RESTPatchAPIApplicationEmojiJSONBody): Promise<ApplicationEmojiStructure>;
    /**
     * Deletes an emoji for the application.
     * @param emojiId The ID of the emoji.
     */
    deleteEmoji(emojiId: string): Promise<undefined>;
    /**
     * Lists the entitlements for the application.
     * @param [query] The query parameters.
     */
    listEntitlements(query?: RESTGetAPIEntitlementsQuery): Promise<EntitlementStructure[]>;
    /**
     * Consumes an entitlement for the application.
     * @param entitlementId The ID of the entitlement.
     */
    consumeEntitlement(entitlementId: string): Promise<undefined>;
    /**
     * Creates a test entitlement for the application.
     * @param body The body of the request.
     */
    createTestEntitlement(body: RESTPostAPIEntitlementBody): Promise<EntitlementStructure>;
    /**
     * Deletes a test entitlement for the application.
     * @param entitlementId The ID of the entitlement.
     */
    deleteTestEntitlement(entitlementId: string): Promise<undefined>;
    /**
     * Lists the SKUs for the application.
     * @returns The SKUs.
     */
    listSKUs(): Promise<import("../../types").RESTGetAPISKUsResult>;
    fetch(): Promise<ApplicationStructure>;
    edit(body: RESTPatchCurrentApplicationJSONBody): Promise<ApplicationStructure>;
    getActivityInstance(instanceId: string): Promise<import("../../types").RestGetAPIApplicationActivityInstanceResult>;
}
