import type { ObjectSchema, ValidationError as JoiValidationError, ValidationErrorItem as JoiValidationErrorItem } from 'joi'; import type { ColorInput, Effect, EffectInput, Program, ProgramInput, RGBColor, ScheduledEvent, Sequence, SequenceInput } from './types'; export declare const hexColorRegex: RegExp; export declare function socketColorHex(input: ColorInput): string; export declare function colorHex(input: ColorInput): string; export declare function colorRGB(input: ColorInput): RGBColor; export declare function hexToRGB(hexStr: string): RGBColor; export declare function hex(number: number): string; declare type Validatedable = Sequence | Effect | Program | ScheduledEvent | SequenceInput | EffectInput | ProgramInput; declare type Cons = T extends readonly unknown[] ? ((h: H, ...t: T) => void) extends (...r: infer R) => void ? R : never : never; declare type Prev = [never, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, ...0[]]; export declare type Paths = [D] extends [never] ? never : T extends object ? { [K in keyof T]-?: [K] | (Paths extends infer P ? (P extends [] ? never : Cons) : never); }[keyof T] : []; export declare type Leaves = [D] extends [never] ? never : T extends object ? { [K in keyof T]-?: Cons>; }[keyof T] : []; interface ValidationErrorItem extends Omit { path: Paths; } interface ValidationError extends Omit { details: ValidationErrorItem[]; } interface ValidationResult { value: Required; error?: ValidationError; warning?: ValidationError; } export declare function validate(schema: ObjectSchema, input: T): ValidationResult['value']; export declare function prettyDeepPrint(...items: unknown[]): void; export {};