import PartyMemberMeta from './PartyMemberMeta';
import User from '../user/User';
import type Party from './Party';
import type ClientParty from './ClientParty';
import type { PartyMemberData, PartyMemberUpdateData } from '../../../resources/structs';
/**
 * Represents a party member
 */
declare class PartyMember extends User {
    /**
     * The member's role. "CAPTAIN" means leader
     */
    role: string;
    /**
     * The date when this member joined the party
     */
    joinedAt: Date;
    /**
     * The member's meta
     */
    meta: PartyMemberMeta;
    /**
     * The party this member belongs to
     */
    party: Party | ClientParty;
    /**
     * The member's revision
     */
    revision: number;
    /**
     * Whether this member has received an initial state update
     */
    receivedInitialStateUpdate: boolean;
    /**
     * @param party The party this member belongs to
     * @param data The member's data
     */
    constructor(party: Party | ClientParty, data: PartyMemberData);
    /**
     * Whether this member is the leader of the party
     */
    get isLeader(): boolean;
    /**
     * The member's currently equipped outfit CID
     */
    get outfit(): string | undefined;
    /**
     * The member's currently equipped pickaxe ID
     */
    get pickaxe(): string | undefined;
    /**
     * The member's current emote EID
     */
    get emote(): string | undefined;
    /**
     * The member's currently equipped backpack BID
     */
    get backpack(): string | undefined;
    /**
     * The member's currently equipped shoes
     */
    get shoes(): string | undefined;
    /**
     * Whether the member is ready
     */
    get isReady(): boolean;
    /**
     * Whether the member is sitting out
     */
    get isSittingOut(): boolean;
    /**
     * The member's current input method
     */
    get inputMethod(): string | undefined;
    /**
     * The member's cosmetic variants
     */
    get variants(): import("../../../resources/structs").CosmeticsVariantMeta;
    /**
     * The member's custom data store
     */
    get customDataStore(): string[];
    /**
     * The member's banner info
     */
    get banner(): import("../../../resources/structs").BannerMeta | undefined;
    /**
     * The member's battlepass info
     */
    get battlepass(): import("../../../resources/structs").BattlePassMeta | undefined;
    /**
     * The member's platform
     */
    get platform(): import("../../../resources/structs").Platform | undefined;
    /**
     * The member's match info
     */
    get matchInfo(): import("../../../resources/structs").MatchMeta;
    /**
     * The member's current playlist
     */
    get playlist(): import("../../../resources/structs").Island;
    /**
     * Whether a marker has been set
     */
    get isMarkerSet(): boolean;
    /**
     * The member's marker location [x, y] tuple.
     * [0, 0] if there is no marker set
     */
    get markerLocation(): [number, number];
    /**
     * Kicks this member from the client's party.
     * @throws {PartyPermissionError} The client is not a member or not the leader of the party
     */
    kick(): Promise<any>;
    /**
     * Promotes this member
     * @throws {PartyPermissionError} The client is not a member or not the leader of the party
     */
    promote(): Promise<any>;
    /**
     * Hides this member
     * @param hide Whether the member should be hidden
     * @throws {PartyPermissionError} The client is not the leader of the party
     * @throws {EpicgamesAPIError}
     */
    hide(hide?: boolean): Promise<any>;
    /**
     * Bans this member from the client's party.
     */
    chatBan(): Promise<any>;
    /**
     * Updates this members data
     * @param data The update data
     */
    updateData(data: PartyMemberUpdateData): void;
    /**
     * Converts this party member into an object
     */
    toObject(): PartyMemberData;
}
export default PartyMember;
