import type { PokemonSet } from '@pkmn/sim'; import { type Submission, type ValidationError } from './types.js'; export type Team = PokemonSet[]; /** A submission that parsed and passed Gen 3 OU legality. */ export interface LegalTeam { name: string; team: Team; /** The packed form fed to the sim's `>player` command. */ packed: string; } /** * Split a raw paste that may hold several Teams (Showdown's multi-team export * uses `=== [format] name ===` header lines) into one {@link Submission} each. * A paste with no header markers is treated as a single unnamed Team. */ export declare function splitSubmissions(raw: string): Submission[]; /** Normalize the flexible `teams` input of {@link EvaluateInput} into Submissions. */ export declare function toSubmissions(input: string | Array): Submission[]; export interface ParseOutcome { legal: LegalTeam[]; errors: ValidationError[]; } /** * Parse and legality-check a batch of submissions. Never throws for team * content problems: unparseable or illegal Teams become {@link ValidationError}s. */ export declare function parseAndValidate(submissions: Submission[]): ParseOutcome; /** Round-trip a single paste through parse + serialize (used by tests/tools). */ export declare function reserialize(paste: string): string;