import { BaseRollOptions, ComparisonOptions, CustomDiceNotation, CustomDiceNotation as CustomDiceNotation$1, CustomRollOptions, CustomRollOptions as CustomRollOptions$1, DiceNotation, DiceNotation as DiceNotation$1, DropOptions, ModifierOptions, NumericDiceNotation, NumericDiceNotation as NumericDiceNotation$1, NumericRollOptions, NumericRollOptions as NumericRollOptions$1, ReplaceOptions, RerollOptions, RollOptions, RollOptions as RollOptions$1, UniqueOptions } from "@randsum/core";

//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/types.d.ts
interface BaseValidationResult {
	valid: boolean;
	type: "numerical" | "custom" | "invalid";
	description: string[];
}
interface NumericValidationResult extends BaseValidationResult {
	valid: true;
	type: "numerical";
	digested: NumericRollOptions$1;
	notation: NumericDiceNotation$1;
}
interface CustomValidationResult extends BaseValidationResult {
	valid: true;
	type: "custom";
	digested: CustomRollOptions$1;
	notation: CustomDiceNotation$1;
}
interface InvalidValidationResult extends BaseValidationResult {
	valid: false;
	type: "invalid";
	digested: Record<string, never>;
}
type ValidationResult = NumericValidationResult | CustomValidationResult | InvalidValidationResult;

//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/isDiceNotation.d.ts
declare function isDiceNotation(argument: unknown): argument is DiceNotation$1;

//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/validateNotation.d.ts
declare function validateNotation(notation: string): ValidationResult;

//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/patterns.d.ts
declare const coreNotationPattern: RegExp;
declare const completeRollPattern: RegExp;

//#endregion
//#region \0virtual:/home/runner/work/randsum/randsum/packages/notation/src/utils/notationToOptions.d.ts
declare function notationToOptions(notationString: DiceNotation$1): RollOptions$1;

//#endregion
export { BaseRollOptions, ComparisonOptions, CustomDiceNotation, CustomRollOptions, CustomValidationResult, DiceNotation, DropOptions, InvalidValidationResult, ModifierOptions, NumericDiceNotation, NumericRollOptions, NumericValidationResult, ReplaceOptions, RerollOptions, RollOptions, UniqueOptions, ValidationResult, completeRollPattern, coreNotationPattern, isDiceNotation, notationToOptions, validateNotation };