export default class LiturgyOfAnyDay {
    /**
     * @type {RegExp[]}
     * @static
     * @private
     * @readonly
     */
    private static readonly "__#20@#filterTagsDisplayGrade";
    /**
     * @type {['green', 'red', 'purple']}
     * @static
     * @private
     * @readonly
     */
    private static readonly "__#20@#highContrast";
    /**
     * Validates the given class name to ensure it is a valid CSS class name.
     *
     * @param {string} className - The class name to validate.
     * @returns {boolean} True if the class name is valid, false otherwise.
     * @static
     * @private
     */
    private static "__#20@#isValidClassName";
    /**
     * Validates the given ID to ensure it is a valid HTML ID.
     *
     * @param {string} id - The ID to validate.
     * @returns {boolean} True if the ID is valid, false otherwise.
     * @static
     * @private
     */
    private static "__#20@#isValidId";
    /**
     * Validates the given element selector to ensure it is a valid HTML element selector.
     *
     * @param {string} element - The element selector to validate.
     * @returns {Element} The DOM element that the selector matches.
     * @throws {Error} If the element selector is invalid or does not match any elements.
     * @static
     * @private
     */
    private static "__#20@#validateElementSelector";
    /**
     * Constructs a LiturgyOfAnyDay object.
     *
     * @param {string|Object|null} [options=null] - The locale or options object.
     * @throws {Error} If the locale is invalid.
     */
    constructor(options?: string | Object | null);
    /**
     * Sets the id of the element.
     *
     * @param {string} id The id of the element
     * @throws {Error} if id is not a string or not a valid CSS selector
     * @returns {LiturgyOfAnyDay} The current instance for method chaining
     */
    id(id: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the LiturgyOfAnyDay instance's DOM element.
     *
     * @param {string} className - A space-separated string of class names.
     * @throws {Error} If the className is not a string or invalid.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    class(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the title element.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    titleClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the date element.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    dateClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the date controls wrapper element.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    dateControlsClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the events wrapper element.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    eventsWrapperClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the event elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    eventClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class for event grade elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    eventGradeClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class for event common elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    eventCommonClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class for event year cycle elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    eventYearCycleClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the readings wrapper element.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    readingsWrapperClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the readings label elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    readingsLabelClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets the class attribute for the individual reading elements.
     *
     * @param {string} className - A space-separated string of class names.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    readingClass(className: string): LiturgyOfAnyDay;
    /**
     * Sets whether to show lectionary readings.
     *
     * @param {boolean} show - Whether to display lectionary readings.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    showReadings(show?: boolean): LiturgyOfAnyDay;
    /**
     * Configures the day input element.
     *
     * @param {Object} options - Configuration options for the day input.
     * @param {string} [options.class] - CSS class for the input element.
     * @param {string} [options.labelClass] - CSS class for the label element.
     * @param {string} [options.labelText] - Custom label text.
     * @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
     * @param {string} [options.wrapperClass] - CSS class for the wrapper element.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    dayInputConfig(options: {
        class?: string | undefined;
        labelClass?: string | undefined;
        labelText?: string | undefined;
        wrapper?: string | undefined;
        wrapperClass?: string | undefined;
    }): LiturgyOfAnyDay;
    /**
     * Configures the month input element.
     *
     * @param {Object} options - Configuration options for the month input.
     * @param {string} [options.class] - CSS class for the input element.
     * @param {string} [options.labelClass] - CSS class for the label element.
     * @param {string} [options.labelText] - Custom label text.
     * @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
     * @param {string} [options.wrapperClass] - CSS class for the wrapper element.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    monthInputConfig(options: {
        class?: string | undefined;
        labelClass?: string | undefined;
        labelText?: string | undefined;
        wrapper?: string | undefined;
        wrapperClass?: string | undefined;
    }): LiturgyOfAnyDay;
    /**
     * Configures the year input element.
     *
     * @param {Object} options - Configuration options for the year input.
     * @param {string} [options.class] - CSS class for the input element.
     * @param {string} [options.labelClass] - CSS class for the label element.
     * @param {string} [options.labelText] - Custom label text.
     * @param {string} [options.wrapper] - Wrapper element type ('div' or 'td').
     * @param {string} [options.wrapperClass] - CSS class for the wrapper element.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    yearInputConfig(options: {
        class?: string | undefined;
        labelClass?: string | undefined;
        labelText?: string | undefined;
        wrapper?: string | undefined;
        wrapperClass?: string | undefined;
    }): LiturgyOfAnyDay;
    /**
     * Sets the LiturgyOfAnyDay instance to listen to the ApiClient for calendar data.
     * Also configures the ApiClient with the correct year_type based on the selected date
     * (LITURGICAL for December 31st to include vigil masses, CIVIL otherwise).
     *
     * @param {ApiClient} apiClient - The API client to listen to.
     * @throws {Error} If the provided apiClient is not an instance of ApiClient.
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    listenTo(apiClient: ApiClient): LiturgyOfAnyDay;
    /**
     * Appends the date control inputs to the date controls wrapper.
     * Call this after configuring the inputs but before appending to DOM.
     *
     * @returns {LiturgyOfAnyDay} The current instance for chaining.
     */
    buildDateControls(): LiturgyOfAnyDay;
    /**
     * Appends the LiturgyOfAnyDay instance to the element matched by the selector.
     *
     * @param {string|HTMLElement} elementSelector - The CSS selector or HTMLElement.
     */
    appendTo(elementSelector: string | HTMLElement): void;
    /**
     * Replaces the element matched by the selector with this component.
     *
     * @param {string|HTMLElement} elementSelector - The CSS selector or HTMLElement.
     */
    replace(elementSelector: string | HTMLElement): void;
    /**
     * Retrieves the underlying DOM element.
     *
     * @returns {HTMLElement} The DOM element.
     * @readonly
     */
    readonly get _domElement(): HTMLElement;
    /**
     * Retrieves the title element.
     *
     * @returns {HTMLElement} The title element.
     * @readonly
     */
    readonly get _titleElement(): HTMLElement;
    /**
     * Retrieves the date element.
     *
     * @returns {HTMLElement} The date element.
     * @readonly
     */
    readonly get _dateElement(): HTMLElement;
    /**
     * Retrieves the date controls wrapper element.
     *
     * @returns {HTMLElement} The date controls wrapper element.
     * @readonly
     */
    readonly get _dateControlsWrapper(): HTMLElement;
    /**
     * Retrieves the events wrapper element.
     *
     * @returns {HTMLElement} The events wrapper element.
     * @readonly
     */
    readonly get _eventsElementsWrapper(): HTMLElement;
    /**
     * Retrieves the day input component.
     *
     * @returns {DayInput} The day input component.
     * @readonly
     */
    readonly get _dayInput(): DayInput;
    /**
     * Retrieves the month input component.
     *
     * @returns {MonthInput} The month input component.
     * @readonly
     */
    readonly get _monthInput(): MonthInput;
    /**
     * Retrieves the year input component.
     *
     * @returns {YearInput} The year input component.
     * @readonly
     */
    readonly get _yearInput(): YearInput;
    #private;
}
import ApiClient from '../ApiClient/ApiClient.js';
import { DayInput } from '../ApiOptions/Input/index.js';
import { MonthInput } from '../ApiOptions/Input/index.js';
import { YearInput } from '../ApiOptions/Input/index.js';
//# sourceMappingURL=LiturgyOfAnyDay.d.ts.map