discord-starboard-plus
Version:
Discord Starboard Plus: A clean, maintainable starboard system for Discord.js bots. Features per-guild configuration, TypeScript support. Highlight your community's favorite messages with customizable starboards.
34 lines • 1.23 kB
TypeScript
import type { StarboardOptions, StarboardOptionsInput, Snowflake } from '../types';
/**
* Configuration validation and normalization.
* Centralizes all configuration logic following SRP.
*/
export declare class ConfigValidator {
/**
* Validate configuration options.
* Throws an error if validation fails.
*/
static validate(options: StarboardOptionsInput): void;
/**
* Normalize configuration options by applying defaults.
* Returns a complete StarboardOptions object.
*/
static normalize(options: StarboardOptionsInput): StarboardOptions;
/**
* Validate and normalize in one step.
*/
static validateAndNormalize(options: StarboardOptionsInput): StarboardOptions;
/**
* Merge partial options with existing options.
*/
static merge(existing: StarboardOptions, partial: Partial<StarboardOptions>): StarboardOptions;
/**
* Check if a string is a valid Discord Snowflake.
*/
static isValidSnowflake(value: unknown): value is Snowflake;
/**
* Get default options (without starboardChannelID)
*/
static getDefaults(): Omit<StarboardOptions, 'starboardChannelID'>;
}
//# sourceMappingURL=ConfigValidator.d.ts.map