import type { StyleManager } from "./style_manager"; /** * 特定のフィーチャに独自のプロパティを割り当てる。 * * スタイルで `["feature-state", "prop-name"]` のような式を評価すると、 * そのフィーチャーに対する `FeatureState` インスタンスに設定した * `"prop-name"` プロパティの値が得られる。 * * ただし `"prop-name"` プロパティが存在しないとき、またはフィーチャーに * 対する `FeatureState` インスタンスが存在しないときは `null` が得られる。 * * `FeatureState` インスタンスは [[StyleManager.ensureFeatureState]] * により生成することができる。 */ export declare class FeatureState { /** * 起源となる [[StyleManager]] インスタンス */ readonly style_manager: StyleManager; /** * 対応するフィーチャの ID */ readonly feature_id: number; /** * 保有するプロパティの数 */ get num_properties(): number; /** * プロパティの値を設定する。 * * `pid` に対応するプロパティの値を `value` に設定する。 * * プロパティが存在しないときは、新規にプロパティを生成して値を * `value` に設定する。 * * @remarks * `value` はそのまま this に保持される (複製されない) ので、`value` が * 参照型のときはその内容を変更しないこと。 */ setValue(pid: string, value: unknown): void; /** * プロパティの値を取得する。 * * `pid` に対応するプロパティの値を取得する。 * * プロパティが存在しない場合は `undefined` を返す。 */ getValue(pid: string): unknown | undefined; /** * 所有するプロパティの ID を列挙するオブジェクトを取得する。 */ getPropertyIds(): IterableIterator; /** * 指定したプロパティの所有を確認する。 * * `pid` に対応するプロパティを所有していれば `true`, 所有していな * ければ `false` を返す。 */ hasProperty(pid: string): boolean; /** * 所有するすべてのプロパティを削除する。 */ clearProperties(): void; /** * 指定したプロパティを削除する。 * * `pid` に対応するプロパティを削除する。 * * そのプロパティが存在しなければ何もしない。 */ deleteProperty(pid: string): void; private constructor(); private readonly _pid_set; } //# sourceMappingURL=FeatureState.d.ts.map