import { type TTrim } from './internal/trim';
import { type TTake } from './internal/take';
import { type TMany } from './internal/many';
import { type TDigit } from './internal/char';
import { type TZero } from './internal/char';
import { type TNonZero } from './internal/char';
import { type TUnderScore } from './internal/char';
type TTakeNonZero = (TTake);
type TAllowedDigits = [...TDigit, TUnderScore];
type TTakeDigits = (TMany);
type TTakeUnsignedInteger = (TTake<[TZero], Input> extends [infer Zero extends string, infer ZeroRest extends string] ? [Zero, ZeroRest] : TTakeNonZero extends [infer NonZero extends string, infer NonZeroRest extends string] ? TTakeDigits extends [infer Digits extends string, infer DigitsRest extends string] ? [`${NonZero}${Digits}`, DigitsRest] : [] : []);
/** Matches if next is a UnsignedInteger */
export type TUnsignedInteger = (TTakeUnsignedInteger>);
/** Matches if next is a UnsignedInteger */
export declare function UnsignedInteger(input: Input): TUnsignedInteger;
export {};