import { EventEmitter, VNode } from "../../stencil-public-runtime";
import { Scale } from "../interfaces";
import { LocalizedComponent, NumberingSystem } from "../../utils/locale";
import { T9nComponent } from "../../utils/t9n";
import { HourCycle, Meridiem } from "../../utils/time";
import { TimePickerMessages } from "./assets/time-picker/t9n";
import { LoadableComponent } from "../../utils/loadable";
export declare class TimePicker implements LocalizedComponent, LoadableComponent, LocalizedComponent, T9nComponent {
  el: HTMLCalciteTimePickerElement;
  /** Specifies the size of the component. */
  scale: Scale;
  /** Specifies the granularity the `value` must adhere to (in seconds). */
  step: number;
  stepChange(): void;
  /**
   * Specifies the Unicode numeral system used by the component for localization.
   *
   */
  numberingSystem: NumberingSystem;
  /** The component's value in UTC (always 24-hour format). */
  value: string;
  valueWatcher(newValue: string): void;
  /**
   * Made into a prop for testing purposes only
   *
   * @internal
   */
  messages: TimePickerMessages;
  /**
   * Use this property to override individual strings used by the component.
   */
  messageOverrides: Partial<TimePickerMessages>;
  onMessagesChange(): void;
  private activeEl;
  private hourEl;
  private meridiemEl;
  private minuteEl;
  private secondEl;
  private meridiemOrder;
  effectiveLocale: string;
  effectiveLocaleWatcher(): void;
  hour: string;
  hourCycle: HourCycle;
  localizedHour: string;
  localizedHourSuffix: string;
  localizedMeridiem: string;
  localizedMinute: string;
  localizedMinuteSuffix: string;
  localizedSecond: string;
  localizedSecondSuffix: string;
  meridiem: Meridiem;
  minute: string;
  second: string;
  showSecond: boolean;
  defaultMessages: TimePickerMessages;
  /**
   * @internal
   */
  calciteInternalTimePickerBlur: EventEmitter<void>;
  /**
   * @internal
   */
  calciteInternalTimePickerChange: EventEmitter<string>;
  /**
   * @internal
   */
  calciteInternalTimePickerFocus: EventEmitter<void>;
  hostBlurHandler(): void;
  hostFocusHandler(): void;
  keyDownHandler(event: KeyboardEvent): void;
  /**
   * Sets focus on the component's first focusable element.
   */
  setFocus(): Promise<void>;
  private updateShowSecond;
  private focusPart;
  private buttonActivated;
  private decrementHour;
  private decrementMeridiem;
  private decrementMinuteOrSecond;
  private decrementMinute;
  private decrementSecond;
  private focusHandler;
  private hourDownButtonKeyDownHandler;
  private hourKeyDownHandler;
  private hourUpButtonKeyDownHandler;
  private incrementMeridiem;
  private incrementHour;
  private incrementMinuteOrSecond;
  private incrementMinute;
  private incrementSecond;
  private meridiemDownButtonKeyDownHandler;
  private meridiemKeyDownHandler;
  private meridiemUpButtonKeyDownHandler;
  private minuteDownButtonKeyDownHandler;
  private minuteKeyDownHandler;
  private minuteUpButtonKeyDownHandler;
  private secondDownButtonKeyDownHandler;
  private secondKeyDownHandler;
  private secondUpButtonKeyDownHandler;
  private setHourEl;
  private setMeridiemEl;
  private setMinuteEl;
  private setSecondEl;
  private setValue;
  private setValuePart;
  private getMeridiemOrder;
  private updateLocale;
  connectedCallback(): void;
  componentWillLoad(): Promise<void>;
  componentDidLoad(): void;
  disconnectedCallback(): void;
  render(): VNode;
}
