///
import { Schema } from "@colyseus/schema";
import type { State } from "../state/state.js";
import { ChildTrait } from "../traits/child.js";
import { Entity } from "../traits/entity.js";
import { IdentityTrait } from "../traits/identity.js";
import { LabelTrait } from "../traits/label.js";
import { LocationTrait } from "../traits/location.js";
import { OwnershipTrait } from "../traits/ownership.js";
import { ParentTrait } from "../traits/parent.js";
declare class TopDeckElement extends Schema {
}
interface TopDeckElement {
[key: string]: any;
}
/**
* Deck of cards, or stack of any entities.
*
* Only the topmost entity can be visible in this container, via `topDeck` property.
*
* @category Entity
*/
export declare class Deck extends Entity {
/**
* Number of child elements synchronized to the client.
* @category Deck
*/
childCount: number;
/**
* @category Deck
*/
topDeck: TopDeckElement;
create(state: State, options?: DeckOptions): void;
updateTopElement(child: {
[key: string]: any;
}): void;
}
interface Mixin extends IdentityTrait, LocationTrait, ChildTrait, ParentTrait, LabelTrait, OwnershipTrait {
}
type DeckOptions = Partial & {
childCount: number;
}>;
export interface Deck extends Mixin {
}
export {};