interface FlagInfo { /** 中文名称 */ cnName: string; /** 英文名称 */ enName: string; /** 国旗emoji */ flag: string; /** 国家/地区代码 (ISO 3166-1 alpha-2) */ code: string; /** Unicode编码 */ unicode: string; } interface FlagGroup { /** 地区名称 */ region: string; /** 该地区的国旗列表 */ flags: FlagInfo[]; } interface SearchOptions { /** 是否精确匹配 */ exact?: boolean; /** 搜索字段 */ field?: 'cnName' | 'enName' | 'code' | 'all'; } interface StatsInfo { /** 总国旗数量 */ total: number; /** 各地区统计信息 */ regions: { /** 地区名称 */ region: string; /** 该地区国旗数量 */ count: number; }[]; } /** * 获取所有国旗分组数据 * @returns 按地区分组的国旗集合 */ declare function groups(): FlagGroup[]; /** * 获取所有国旗列表(不分组) * @returns 所有国旗信息列表 */ declare function all(): FlagInfo[]; /** * 根据国家/地区代码获取国旗信息 * @param code 国家/地区代码 (ISO 3166-1 alpha-2) * @returns 国旗信息,找不到则返回undefined */ declare function get(code: string): FlagInfo | undefined; /** * 根据名称(中文或英文)搜索国旗 * @param keyword 搜索关键词 * @param options 搜索选项 * @returns 匹配的国旗信息列表 */ declare function search(keyword: string, options?: SearchOptions): FlagInfo[]; /** * 根据地区获取国旗列表 * @param region 地区名称 * @returns 该地区的国旗信息列表 */ declare function region(region: string): FlagInfo[]; /** * 获取所有地区名称 * @returns 地区名称列表 */ declare function regions(): string[]; /** * 获取随机国旗 * @param count 获取数量,默认为1 * @returns 随机国旗信息或列表 */ declare function random(count?: number): FlagInfo | FlagInfo[]; /** * 根据Unicode获取国旗 * @param unicode Unicode编码 * @returns 匹配的国旗信息 */ declare function byUnicode(unicode: string): FlagInfo | undefined; /** * 根据emoji获取国旗 * @param emoji emoji字符 * @returns 匹配的国旗信息 */ declare function byEmoji(emoji: string): FlagInfo | undefined; /** * 根据自定义条件过滤国旗 * @param predicate 过滤条件函数 * @returns 匹配的国旗信息列表 */ declare function filter(predicate: (flag: FlagInfo) => boolean): FlagInfo[]; /** * 获取国旗数据统计信息 * @returns 统计信息 */ declare function stats(): StatsInfo; declare const _default: { groups: typeof groups; all: typeof all; get: typeof get; search: typeof search; region: typeof region; regions: typeof regions; random: typeof random; byUnicode: typeof byUnicode; byEmoji: typeof byEmoji; filter: typeof filter; stats: typeof stats; }; export { all, byEmoji, byUnicode, _default as default, filter, get, groups, random, region, regions, search, stats };