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