export class UmbModalToken {
    #alias;
    #defaults;
    /**
     * @param alias   Unique identifier for the token,
     * @param defaults  Defaults for the modal,
     */
    constructor(alias, defaults) {
        /**
         * Get the data type of the token's data.
         * @public
         * @type      {ModalDataType}
         * @memberOf  UmbModalToken
         * @example   `typeof MyModal.TYPE`
         * @returns   undefined
         */
        this.DATA = undefined;
        /**
         * Get the value type of the token
         * @public
         * @type      {ModalValueType}
         * @memberOf  UmbModalToken
         * @example   `typeof MyModal.VALUE`
         * @returns   undefined
         */
        this.VALUE = undefined;
        this.#alias = alias;
        this.#defaults = defaults;
    }
    /**
     * This method must always return the unique alias of the token since that
     * will be used to look up the token in the injector.
     * @returns the unique alias of the token
     */
    toString() {
        return this.#alias;
    }
    getDefaultModal() {
        return this.#defaults?.modal;
    }
    getDefaultData() {
        return this.#defaults?.data;
    }
    getDefaultValue() {
        return this.#defaults?.value;
    }
}
