/** * @template {Token[] | TokenReader} [F=Token[]] * @param {object} options * @param {GroupKind} options.kind * @param {F[]} options.fields * @param {SymbolToken[]} options.separators * @param {Site} [options.site] * @returns {GenericGroup} */ export function makeGroup(options: { kind: GroupKind; fields: F[]; separators: SymbolToken[]; site?: Site | undefined; }): GenericGroup; /** * @param {Token} t * @returns {t is TokenGroup} */ export function isGroup(t: Token): t is TokenGroup; /** * @param {SymbolToken} t * @returns {t is SymbolToken} */ export function isGroupOpenSymbol(t: SymbolToken): t is SymbolToken; /** * @param {SymbolToken} t * @returns {t is SymbolToken<"]" | ")" | "}">} */ export function isGroupCloseSymbol(t: SymbolToken): t is SymbolToken<"]" | ")" | "}">; /** * Returns the corresponding closing bracket, parenthesis or brace. * Throws an error if not a group symbol. * @example * Group.matchSymbol("(") == ")" * @param {string | SymbolToken} t * @returns {GroupKind | GroupCloseKind} */ export function getOtherGroupSymbol(t: string | SymbolToken): GroupKind | GroupCloseKind; /** * @import { GenericGroup, GroupKind, GroupCloseKind, Site, SymbolToken, Token, TokenGroup, TokenReader } from "../index.js" */ /** * @satisfies {GroupKind[]} */ export const GROUP_OPEN_SYMBOLS: ["(", "[", "{"]; /** * @satisfies {GroupCloseKind[]} */ export const GROUP_CLOSE_SYMBOLS: [")", "]", "}"]; import type { Token } from "../index.js"; import type { TokenReader } from "../index.js"; import type { GroupKind } from "../index.js"; import type { SymbolToken } from "../index.js"; import type { Site } from "../index.js"; import type { GenericGroup } from "../index.js"; import type { TokenGroup } from "../index.js"; import type { GroupCloseKind } from "../index.js"; //# sourceMappingURL=GenericGroup.d.ts.map