import { TrivialDateTimeField } from "trivial-components";
import { UiFieldEditingMode } from "../../../generated/UiFieldEditingMode";
import { UiField } from "../UiField";
import { TeamAppsUiContext } from "../../TeamAppsUiContext";
import { AbstractUiDateTimeFieldConfig, AbstractUiDateTimeFieldCommandHandler, AbstractUiDateTimeFieldEventSource } from "../../../generated/AbstractUiDateTimeFieldConfig";
export declare abstract class AbstractUiDateTimeField<C extends AbstractUiDateTimeFieldConfig, V> extends UiField<C, V> implements AbstractUiDateTimeFieldEventSource, AbstractUiDateTimeFieldCommandHandler {
    private $originalInput;
    protected trivialDateTimeField: TrivialDateTimeField;
    private dateFormat;
    private timeFormat;
    protected initialize(config: AbstractUiDateTimeFieldConfig, context: TeamAppsUiContext): void;
    protected getDateFormat(): string;
    protected getTimeFormat(): string;
    getMainInnerDomElement(): HTMLElement;
    getFocusableElement(): HTMLElement;
    focus(): void;
    hasFocus(): boolean;
    protected onEditingModeChanged(editingMode: UiFieldEditingMode): void;
    doDestroy(): void;
    getDefaultValue(): V;
    setDateFormat(dateFormat: string): void;
    setFavorPastDates(favorPastDates: boolean): void;
    setShowDropDownButton(showDropDownButton: boolean): void;
    setTimeFormat(timeFormat: string): void;
}
