import ClientPartyMemberMeta from './ClientPartyMemberMeta';
import PartyMember from './PartyMember';
import type { CosmeticEnlightment, Cosmetics, CosmeticVariant, PartyMemberData, PartyMemberSchema } from '../../../resources/structs';
import type Party from './Party';
/**
 * Represents the client's party member
 */
declare class ClientPartyMember extends PartyMember {
    /**
     * The patch queue
     */
    private patchQueue;
    /**
     * The member's meta
     */
    meta: ClientPartyMemberMeta;
    /**
     * @param party The party this member belongs to
     * @param data The member data
     */
    constructor(party: Party, data: PartyMemberData);
    /**
     * Sends a meta patch to Epicgames's servers
     * @param updated The updated schema
     * @throws {EpicgamesAPIError}
     */
    sendPatch(updated: PartyMemberSchema): Promise<void>;
    /**
     * Updates the client party member's readiness
     * @param ready Whether the client party member is ready
     * @throws {EpicgamesAPIError}
     */
    setReadiness(ready: boolean): Promise<void>;
    /**
     * Updates the client party member's sitting out state
     * @param sittingOut Whether the client party member is sitting out
     * @throws {EpicgamesAPIError}
     */
    setSittingOut(sittingOut: boolean): Promise<void>;
    /**
     * Updates the client party member's level
     * @param level The new level
     * @throws {EpicgamesAPIError}
     */
    setLevel(level: number): Promise<void>;
    /**
     * Updates the client party member's battle pass info
     * @param isPurchased Whether the battle pass is purchased
     * @param level The battle pass level
     * @throws {EpicgamesAPIError}
     */
    setBattlePass(isPurchased: boolean, level: number): Promise<void>;
    /**
     * Updates the client party member's banner
     * @param bannerId The new banner's id
     * @param color The new banner's color
     * @throws {EpicgamesAPIError}
     */
    setBanner(bannerId: string, color: string): Promise<void>;
    /**
     * Updates multiple cosmetics for the client party member.
     * If a cosmetic is set to `null`, it will be cleared.
     * If a cosmetic is set to `undefined` or is not provided, it will remain unchanged.
     * @param cosmetics An object specifying the cosmetics to update, including outfit, backpack, pickaxe and shoes.
     * @throws {EpicgamesAPIError}
     */
    setCosmetics(cosmetics?: Cosmetics): Promise<void>;
    /**
     * Updates the client party member's outfit
     * @param id The outfit's ID
     * @param variants The outfit's variants
     * @param enlightment The outfit's enlightment
     * @throws {EpicgamesAPIError}
     */
    setOutfit(id: string, variants?: CosmeticVariant[], enlightment?: CosmeticEnlightment): Promise<void>;
    /**
     * Updates the client party member's backpack
     * @param id The backpack's ID
     * @param variants The backpack's variants
     * @param path The backpack's path in the game files
     * @throws {EpicgamesAPIError}
     */
    setBackpack(id: string, variants?: CosmeticVariant[], path?: string): Promise<void>;
    /**
     * Updates the client party member's pet
     * @param id The pet's ID
     * @param variants The pet's variants
     * @param path The pet's path in the game files
     */
    setPet(id: string, variants?: CosmeticVariant[], path?: string): Promise<void>;
    /**
     * Updates the client party member's pickaxe
     * @param id The pickaxe's ID
     * @param variants The pickaxe's variants
     * @param path The pickaxe's path in the game files
     * @throws {EpicgamesAPIError}
     */
    setPickaxe(id: string, variants?: CosmeticVariant[], path?: string): Promise<void>;
    /**
     * Updates the client party member's shoes
     * @param id The shoes' ID
     * @param variants The shoes' variants
     * @param path The shoes' path in the game files
     * @throws {EpicgamesAPIError}
     */
    setShoes(id: string, variants?: CosmeticVariant[], path?: string): Promise<void>;
    /**
     * Updates the client party member's sidekick
     * @param id The sidekick's ID
     * @param variants The sidekick's variants
     * @param path The sidekick's path in the game files
     * @throws {EpicgamesAPIError}
     */
    setSidekick(id: string, variants?: CosmeticVariant[], path?: string): Promise<void>;
    /**
     * Updates the client party member's emote
     * @param id The emote's ID
     * @param path The emote's path in the game files
     * @throws {EpicgamesAPIError}
     */
    setEmote(id: string, path?: string): Promise<void>;
    /**
     * Updates the client party member's emoji
     * @param id The emoji's ID
     * @param path The emoji's path in the game files
     * @throws {EpicgamesAPIError}
     */
    setEmoji(id: string, path?: string): Promise<void>;
    /**
     * Clears the client party member's emote and emoji
     * @throws {EpicgamesAPIError}
     */
    clearEmote(): Promise<void>;
    /**
     * Clears the client party member's backpack
     * @throws {EpicgamesAPIError}
     */
    clearBackpack(): Promise<void>;
    /**
     * Clears the client party member's shoes
     * @throws {EpicgamesAPIError}
     */
    clearShoes(): Promise<void>;
    /**
     * Clears the client party member's sidekick
     * @throws {EpicgamesAPIError}
     */
    clearSidekick(): Promise<void>;
    /**
     * Updates the client party member's match state.
     * NOTE: This is visually, the client will not actually join a match
     * @param isPlaying Whether the client is in a match
     * @param playerCount The match player count (must be between 0 and 255)
     * @param startedAt The start date of the match
     * @throws {EpicgamesAPIError}
     */
    setPlaying(isPlaying?: boolean, playerCount?: number, startedAt?: Date): Promise<void>;
    /**
     * Updates the client party member's pre lobby map marker.
     * [0, 0] would be the center of the map
     * @param isSet Whether the marker is set
     * @param locationX The marker x location
     * @param locationY The marker y location
     * @throws {EpicgamesAPIError}
     */
    setMarker(isSet: boolean, locationX?: number, locationY?: number): Promise<void>;
    /**
     * Updates the client party member's cosmetic stats.
     * Crowns are shown when using the EID_Coronet emote
     * @param crowns The amount of crowns / "Royal Royales"
     * @param rankedProgression The ranked progression
     * @throws {EpicgamesAPIError}
     */
    setCosmeticStats(crowns: number, rankedProgression: number): Promise<void>;
}
export default ClientPartyMember;
