import type { Identity, IMapping, IParser } from './parser'; import type { Parse } from './parse'; export interface Optional extends IParser { type: 'Optional'; parser: Parser; } export type ParseOptional = (Parse extends [infer Result extends unknown, infer Rest extends string] ? [[Result], Rest] : [[], Input]);