// generated by diplomat-tool
import type { DataError } from "./DataError"
import type { DataProvider } from "./DataProvider"
import type { pointer, codepoint } from "./diplomat-runtime.d.ts";



/**
 * An ICU4X Unicode Set Property object, capable of querying whether a code point is contained in a set based on a Unicode property.
 *
 * See the [Rust documentation for `properties`](https://docs.rs/icu/2.2.0/icu/properties/index.html) for more information.
 *
 * See the [Rust documentation for `EmojiSetData`](https://docs.rs/icu/2.2.0/icu/properties/struct.EmojiSetData.html) for more information.
 *
 * See the [Rust documentation for `new`](https://docs.rs/icu/2.2.0/icu/properties/struct.EmojiSetData.html#method.new) for more information.
 *
 * See the [Rust documentation for `EmojiSetDataBorrowed`](https://docs.rs/icu/2.2.0/icu/properties/struct.EmojiSetDataBorrowed.html) for more information.
 */
export class EmojiSetData {
    /** @internal */
    get ffiValue(): pointer;
    /** @internal */
    constructor();


    /**
     * Checks whether the string is in the set.
     *
     * See the [Rust documentation for `contains_str`](https://docs.rs/icu/2.2.0/icu/properties/struct.EmojiSetDataBorrowed.html#method.contains_str) for more information.
     */
    containsStr(s: string): boolean;

    /**
     * Checks whether the code point is in the set.
     *
     * See the [Rust documentation for `contains`](https://docs.rs/icu/2.2.0/icu/properties/struct.EmojiSetDataBorrowed.html#method.contains) for more information.
     */
    contains(cp: codepoint): boolean;

    /**
     * Create a map for the `Basic_Emoji` property, using compiled data.
     *
     * See the [Rust documentation for `BasicEmoji`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.BasicEmoji.html) for more information.
     */
    static createBasic(): EmojiSetData;

    /**
     * Create a map for the `Basic_Emoji` property, using a particular data source.
     *
     * See the [Rust documentation for `BasicEmoji`](https://docs.rs/icu/2.2.0/icu/properties/props/struct.BasicEmoji.html) for more information.
     */
    static createBasicWithProvider(provider: DataProvider): EmojiSetData;

    /**
     * Get the `Basic_Emoji` value for a given character, using compiled data
     *
     * See the [Rust documentation for `for_char`](https://docs.rs/icu/2.2.0/icu/properties/props/trait.EmojiSet.html#tymethod.for_char) for more information.
     */
    static basicEmojiForChar(ch: codepoint): boolean;

    /**
     * Get the `Basic_Emoji` value for a given character, using compiled data
     *
     * See the [Rust documentation for `for_str`](https://docs.rs/icu/2.2.0/icu/properties/props/trait.EmojiSet.html#tymethod.for_str) for more information.
     */
    static basicEmojiForStr(s: string): boolean;
}