<?php

use Deprecated;

/**
 * @var int
 */
#[Deprecated(
    since: '8.0',
    message: 'as enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are deprecated',
)]
const ENCHANT_MYSPELL = UNKNOWN;

/**
 * @var int
 */
#[Deprecated(
    since: '8.0',
    message: 'as enchant_broker_get_dict_path() and enchant_broker_set_dict_path() are deprecated',
)]
const ENCHANT_ISPELL = UNKNOWN;

/**
 * @var string
 */
const LIBENCHANT_VERSION = UNKNOWN;

final class EnchantBroker
{
}

final class EnchantDictionary
{
}

function enchant_broker_init(): EnchantBroker|false
{
}

#[Deprecated(since: '8.0', message: 'as EnchantBroker objects are freed automatically')]
function enchant_broker_free(EnchantBroker $broker): bool
{
}

function enchant_broker_get_error(EnchantBroker $broker): string|false
{
}

#[Deprecated(since: '8.0')]
function enchant_broker_set_dict_path(EnchantBroker $broker, int $type, string $path): bool
{
}

#[Deprecated(since: '8.0')]
function enchant_broker_get_dict_path(EnchantBroker $broker, int $type): string|false
{
}

/**
 * @return array<int, array>
 */
function enchant_broker_list_dicts(EnchantBroker $broker): array
{
}

function enchant_broker_request_dict(EnchantBroker $broker, string $tag): EnchantDictionary|false
{
}

function enchant_broker_request_pwl_dict(EnchantBroker $broker, string $filename): EnchantDictionary|false
{
}

#[Deprecated(since: '8.0', message: 'as EnchantDictionary objects are freed automatically')]
function enchant_broker_free_dict(EnchantDictionary $dictionary): bool
{
}

function enchant_broker_dict_exists(EnchantBroker $broker, string $tag): bool
{
}

function enchant_broker_set_ordering(EnchantBroker $broker, string $tag, string $ordering): bool
{
}

/**
 * @return array<int, array>
 */
function enchant_broker_describe(EnchantBroker $broker): array
{
}

/** @param array $suggestions */
function enchant_dict_quick_check(EnchantDictionary $dictionary, string $word, &$suggestions = null): bool
{
}

function enchant_dict_check(EnchantDictionary $dictionary, string $word): bool
{
}

/**
 * @return array<int, string>
 */
function enchant_dict_suggest(EnchantDictionary $dictionary, string $word): array
{
}

function enchant_dict_add(EnchantDictionary $dictionary, string $word): void
{
}

function enchant_dict_remove(EnchantDictionary $dictionary, string $word): void
{
}

#[Deprecated(since: '8.0', message: 'use enchant_dict_add() instead')]
function enchant_dict_add_to_personal(EnchantDictionary $dictionary, string $word): void
{
}

function enchant_dict_add_to_session(EnchantDictionary $dictionary, string $word): void
{
}

function enchant_dict_remove_from_session(EnchantDictionary $dictionary, string $word): void
{
}

function enchant_dict_is_added(EnchantDictionary $dictionary, string $word): bool
{
}

#[Deprecated(since: '8.0', message: 'use enchant_dict_is_added() instead')]
function enchant_dict_is_in_session(EnchantDictionary $dictionary, string $word): bool
{
}

function enchant_dict_store_replacement(EnchantDictionary $dictionary, string $misspelled, string $correct): void
{
}

function enchant_dict_get_error(EnchantDictionary $dictionary): string|false
{
}

/**
 * @return array<string, string>
 */
function enchant_dict_describe(EnchantDictionary $dictionary): array
{
}
