type CompileSharedType = {
    labelToRemove: string[];
    initialVarsToRemove: string[];
    functions: {
        name: string;
        args: number;
    }[];
    enums: {
        [key: string]: Record<string, number>;
    };
    textSource: string;
};
/**
 * Serializable representation of a handler `validation` rule used by
 * {@link HashtagCommands} and {@link TextReplaces}.
 */
type InkValidationInfo = {
    /**
     * Validation based on regular expression.
     */
    type: "regexp";
    /**
     * The regex source pattern.
     */
    source: string;
    /**
     * Regex flags (for example `"i"` or `"gi"`).
     */
    flags: string;
} | {
    /**
     * Validation based on a Zod schema serialized to JSON Schema.
     */
    type: "zod";
    /**
     * JSON Schema representation of the original Zod validation.
     */
    schema: Record<string, unknown>;
} | {
    /**
     * Validation represented by a string literal value
     * (e.g. `"all"` or `"characterId"`).
     */
    type: "literal";
    /**
     * The original literal validation value.
     */
    value: string;
};

export type { CompileSharedType as C, InkValidationInfo as I };
