export type DateTimeTextOptions = 'long' | 'short' | 'narrow';
export type DateTimeNumberOptions = 'numeric' | '2-digit';
export type DateTimeTimezoneOptions = 'long' | 'short';
export type DateTimeTextNumberOptions = DateTimeTextOptions | DateTimeNumberOptions;
/**
 * An element to display formatted date and time.
 *
 * The `date` property accepts Date object, Number as a timestamp or string
 * that will be parsed to the Date object.
 *
 * This element uses the `Intl` interface which is available in IE 11+ browsers.
 *
 * To format the date use [Intl.DateTimeFormat]
 * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat)
 * interface options.
 *
 * The default value for each date-time component property is undefined,
 * but if all component properties are undefined, then year, month, and day
 * are assumed to be "numeric" (per spec).
 *
 * ### Example
 *
 * ```html
 * <date-time date="2010-12-10T11:50:45Z" year="numeric" month="narrow" day="numeric"></date-time>
 * ```
 *
 * The element provides accessibility by using the `time` element and setting
 * the `datetime` attribute on it.
 */
export default class DateTime extends HTMLElement {
    static get observedAttributes(): string[];
    protected _observer: MutationObserver;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    _mutationHandler(): void;
    /**
     * A string with a BCP 47 language tag, or an array of such strings.
     * For the general form and interpretation of the locales argument,
     * see the Intl page.
     * The following Unicode extension keys are allowed:
     * - nu - Numbering system. Possible values include: "arab", "arabext",
     * "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr",
     * "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya",
     * "tamldec", "telu", "thai", "tibt".
     * - ca - Calendar. Possible values include: "buddhist", "chinese",
     * "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian",
     * "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
     * @attribute
     */
    get locales(): string | null;
    /**
     * A string with a BCP 47 language tag, or an array of such strings.
     * For the general form and interpretation of the locales argument,
     * see the Intl page.
     * The following Unicode extension keys are allowed:
     * - nu - Numbering system. Possible values include: "arab", "arabext",
     * "bali", "beng", "deva", "fullwide", "gujr", "guru", "hanidec", "khmr",
     * "knda", "laoo", "latn", "limb", "mlym", "mong", "mymr", "orya",
     * "tamldec", "telu", "thai", "tibt".
     * - ca - Calendar. Possible values include: "buddhist", "chinese",
     * "coptic", "ethioaa", "ethiopic", "gregory", "hebrew", "indian",
     * "islamic", "islamicc", "iso8601", "japanese", "persian", "roc".
     */
    set locales(v: string | null);
    /**
     * The representation of the year.
     * Possible values are "numeric", "2-digit".
     * @attribute
     */
    get year(): DateTimeNumberOptions | null;
    /**
     * The representation of the year.
     * @param v Possible values are "numeric", "2-digit".
     */
    set year(v: DateTimeNumberOptions | null);
    /**
     * The representation of the month.
     * Possible values are "numeric", "2-digit", "narrow", "short", "long".
     * @attribute
     */
    get month(): DateTimeTextNumberOptions | null;
    /**
     * The representation of the month.
     * @param v Possible values are "numeric", "2-digit", "narrow", "short", "long".
     */
    set month(v: DateTimeTextNumberOptions | null);
    /**
     * The representation of the day.
     * Possible values are "numeric", "2-digit".
     * @attribute
     */
    get day(): DateTimeNumberOptions | null;
    /**
     * The representation of the day.
     * @param v Possible values are "numeric", "2-digit".
     */
    set day(v: DateTimeNumberOptions | null);
    /**
     * The representation of the hour.
     * Possible values are "numeric", "2-digit".
     * @attribute
     */
    get hour(): DateTimeNumberOptions | null;
    /**
     * The representation of the hour.
     * @param v Possible values are "numeric", "2-digit".
     */
    set hour(v: DateTimeNumberOptions | null);
    /**
     * The representation of the minute.
     * Possible values are "numeric", "2-digit".
     * @attribute
     */
    get minute(): DateTimeNumberOptions | null;
    /**
     * The representation of the minute.
     * @param v Possible values are "numeric", "2-digit".
     */
    set minute(v: DateTimeNumberOptions | null);
    /**
     * The representation of the second.
     * Possible values are "numeric", "2-digit".
     * @attribute
     */
    get second(): DateTimeNumberOptions | null;
    /**
     * The representation of the second.
     * @param v Possible values are "numeric", "2-digit".
     */
    set second(v: DateTimeNumberOptions | null);
    /**
     * The representation of the weekday.
     * Possible values are "narrow", "short", "long".
     * @attribute
     */
    get weekday(): DateTimeTextOptions | null;
    /**
     * The representation of the weekday.
     * @param v Possible values are "narrow", "short", "long".
     */
    set weekday(v: DateTimeTextOptions | null);
    /**
     * The representation of the time zone name.
     *
     * Possible values are "short", "long".
     * @attribute
     */
    get timeZoneName(): DateTimeTimezoneOptions | null;
    /**
     * The representation of the time zone name.
     *
     * @param v Possible values are "short", "long".
     */
    set timeZoneName(v: DateTimeTimezoneOptions | null);
    /**
     * The time zone to use. The only value implementations must recognize
     * is "UTC"; the default is the runtime's default time zone.
     * Implementations may also recognize the time zone names of the IANA
     * time zone database, such as "Asia/Shanghai", "Asia/Kolkata",
     * "America/New_York".
     * @attribute
     */
    get timeZone(): string | null;
    /**
     * The time zone to use. The only value implementations must recognize
     * is "UTC"; the default is the runtime's default time zone.
     * Implementations may also recognize the time zone names of the IANA
     * time zone database, such as "Asia/Shanghai", "Asia/Kolkata",
     * "America/New_York".
     */
    set timeZone(v: string | null);
    /**
     * The representation of the era.
     *
     * Possible values are "narrow", "short", "long".
     * @attribute
     */
    get era(): DateTimeTextOptions | null;
    /**
     * The representation of the era.
     *
     * @param v Possible values are "narrow", "short", "long".
     */
    set era(v: DateTimeTextOptions | null);
    private __hour12set;
    /**
     * Whether to use 12-hour time (as opposed to 24-hour time).
     * Possible values are `true` and `false`; the default is locale
     * dependent.
     */
    get hour12(): boolean | null;
    /**
     * Whether to use 12-hour time (as opposed to 24-hour time).
     * Possible values are `true` and `false`; the default is locale
     * dependent.
     */
    set hour12(v: boolean | null);
    private __date;
    /**
     * A date object to render.
     * It can be a `Date` object, number representing a timestamp
     * or valid date string. The argument is parsed by `Date` constructor
     * to produce the value.
     * @attribute
     */
    get date(): Date | string | number | null;
    /**
     * A date object to render.
     * It can be a `Date` object, number representing a timestamp
     * or valid date string. The argument is parsed by `Date` constructor
     * to produce the value.
     *
     * @param {Date|string|number} v The date to render
     */
    set date(v: Date | string | number | null);
    get itemprop(): string | null;
    set itemprop(value: string | null);
    attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
    /**
     * Parses input `date` to a Date object.
     * @param date A date to parse
     */
    protected _getParsableDate(date: string | number | Date | null): Date;
    _getIntlOptions(): Intl.DateTimeFormatOptions;
    /**
     * @returns A reference to a `<time>` element that is in the shadow DOM of this element.
     */
    _getTimeNode(): HTMLTimeElement;
    _updateLabel(): void;
}
//# sourceMappingURL=DateTime.d.ts.map