<?php

/** @generate-class-entries */

namespace {
/**
 * @var int
 * @cvalue PARSE_POST
 */
const INPUT_POST = UNKNOWN;
/**
 * @var int
 * @cvalue PARSE_GET
 */
const INPUT_GET = UNKNOWN;
/**
 * @var int
 * @cvalue PARSE_COOKIE
 */
const INPUT_COOKIE = UNKNOWN;
/**
 * @var int
 * @cvalue PARSE_ENV
 */
const INPUT_ENV = UNKNOWN;
/**
 * @var int
 * @cvalue PARSE_SERVER
 */
const INPUT_SERVER = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_NONE
 */
const FILTER_FLAG_NONE = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_REQUIRE_SCALAR
 */
const FILTER_REQUIRE_SCALAR = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_REQUIRE_ARRAY
 */
const FILTER_REQUIRE_ARRAY = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FORCE_ARRAY
 */
const FILTER_FORCE_ARRAY = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_NULL_ON_FAILURE
 */
const FILTER_NULL_ON_FAILURE = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_THROW_ON_FAILURE
 */
const FILTER_THROW_ON_FAILURE = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_VALIDATE_INT
 */
const FILTER_VALIDATE_INT = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_BOOL
 */
const FILTER_VALIDATE_BOOLEAN = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_BOOL
 */
const FILTER_VALIDATE_BOOL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_FLOAT
 */
const FILTER_VALIDATE_FLOAT = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_VALIDATE_REGEXP
 */
const FILTER_VALIDATE_REGEXP = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_DOMAIN
 */
const FILTER_VALIDATE_DOMAIN = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_URL
 */
const FILTER_VALIDATE_URL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_EMAIL
 */
const FILTER_VALIDATE_EMAIL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_IP
 */
const FILTER_VALIDATE_IP = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_VALIDATE_MAC
 */
const FILTER_VALIDATE_MAC = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_DEFAULT
 */
const FILTER_DEFAULT = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_UNSAFE_RAW
 */
const FILTER_UNSAFE_RAW = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_SANITIZE_STRING
 */
#[\Deprecated(since: '8.1', message: 'use htmlspecialchars() instead')]
const FILTER_SANITIZE_STRING = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_STRING
 */
#[\Deprecated(since: '8.1', message: 'use htmlspecialchars() instead')]
const FILTER_SANITIZE_STRIPPED = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_ENCODED
 */
const FILTER_SANITIZE_ENCODED = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_SPECIAL_CHARS
 */
const FILTER_SANITIZE_SPECIAL_CHARS = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_FULL_SPECIAL_CHARS
 */
const FILTER_SANITIZE_FULL_SPECIAL_CHARS = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_EMAIL
 */
const FILTER_SANITIZE_EMAIL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_URL
 */
const FILTER_SANITIZE_URL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_NUMBER_INT
 */
const FILTER_SANITIZE_NUMBER_INT = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_NUMBER_FLOAT
 */
const FILTER_SANITIZE_NUMBER_FLOAT = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_SANITIZE_ADD_SLASHES
 */
const FILTER_SANITIZE_ADD_SLASHES = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_CALLBACK
 */
const FILTER_CALLBACK = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_ALLOW_OCTAL
 */
const FILTER_FLAG_ALLOW_OCTAL = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ALLOW_HEX
 */
const FILTER_FLAG_ALLOW_HEX = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_STRIP_LOW
 */
const FILTER_FLAG_STRIP_LOW = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_STRIP_HIGH
 */
const FILTER_FLAG_STRIP_HIGH = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_STRIP_BACKTICK
 */
const FILTER_FLAG_STRIP_BACKTICK = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ENCODE_LOW
 */
const FILTER_FLAG_ENCODE_LOW = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ENCODE_HIGH
 */
const FILTER_FLAG_ENCODE_HIGH = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ENCODE_AMP
 */
const FILTER_FLAG_ENCODE_AMP = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_NO_ENCODE_QUOTES
 */
const FILTER_FLAG_NO_ENCODE_QUOTES = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_EMPTY_STRING_NULL
 */
const FILTER_FLAG_EMPTY_STRING_NULL = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_ALLOW_FRACTION
 */
const FILTER_FLAG_ALLOW_FRACTION = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ALLOW_THOUSAND
 */
const FILTER_FLAG_ALLOW_THOUSAND = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_ALLOW_SCIENTIFIC
 */
const FILTER_FLAG_ALLOW_SCIENTIFIC = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_PATH_REQUIRED
 */
const FILTER_FLAG_PATH_REQUIRED = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_QUERY_REQUIRED
 */
const FILTER_FLAG_QUERY_REQUIRED = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_IPV4
 */
const FILTER_FLAG_IPV4 = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_IPV6
 */
const FILTER_FLAG_IPV6 = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_NO_RES_RANGE
 */
const FILTER_FLAG_NO_RES_RANGE = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_NO_PRIV_RANGE
 */
const FILTER_FLAG_NO_PRIV_RANGE = UNKNOWN;
/**
 * @var int
 * @cvalue FILTER_FLAG_GLOBAL_RANGE
 */
const FILTER_FLAG_GLOBAL_RANGE = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_HOSTNAME
 */
const FILTER_FLAG_HOSTNAME = UNKNOWN;

/**
 * @var int
 * @cvalue FILTER_FLAG_EMAIL_UNICODE
 */
const FILTER_FLAG_EMAIL_UNICODE = UNKNOWN;

function filter_has_var(int $input_type, string $var_name): bool {}

function filter_input(int $type, string $var_name, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed {}

function filter_var(mixed $value, int $filter = FILTER_DEFAULT, array|int $options = 0): mixed {}

/** @refcount 1 */
function filter_input_array(int $type, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null {}

/** @refcount 1 */
function filter_var_array(array $array, array|int $options = FILTER_DEFAULT, bool $add_empty = true): array|false|null {}

/**
 * @return array<int, string>
 * @refcount 1
 */
function filter_list(): array {}

function filter_id(string $name): int|false {}

}

namespace Filter {

	class FilterException extends \Exception {}

	class FilterFailedException extends FilterException {}

}
