export interface ParsedTarget { openId?: string; unionId?: string; email?: string; name?: string; } export interface ParsedTargets { targets: ParsedTarget[]; /** Lines that could not be classified (not an email / ou_ / on_). */ invalid: string[]; } /** * Parse the editor text into targets. One entry per line; an optional trailing * `# comment` is treated as a human label (kept as a name fallback). For * backward compatibility a body that starts with `[` is parsed as the old JSON * array shape. * * - `ou_...` → openId * - `on_...` → unionId * - `a@b.com` → email (resolved to an openId server-side on save) * - anything else → `invalid` (a bare name can't be resolved) */ export declare function parseSubstituteTargets(text: string): ParsedTargets; /** * Render stored/resolved targets back into editor text — one human-readable * entry per line. Prefers email (most recognizable), falls back to the id, and * appends `# name` when a display name is known. */ export declare function formatSubstituteTargets(mode: unknown): string; //# sourceMappingURL=substitute-targets.d.ts.map