import { PipeTransform, EventEmitter } from '@angular/core';
import { NgControl } from '@angular/forms';
import { IgxInputDirective, IgxInputState } from '../input-group';
import { IgxInputGroupComponent } from '../input-group/input-group.component';
import { IgxDateTimeEditorDirective } from '../directives/date-time-editor';
/**
 * Represents a range between two dates.
 */
export interface DateRange {
    start: Date;
    end: Date;
}
/** @hidden @internal */
export declare class DateRangePickerFormatPipe implements PipeTransform {
    transform(values: DateRange, inputFormat?: string, locale?: string): string;
}
/** @hidden @internal */
export declare class IgxDateRangeInputsBaseComponent extends IgxInputGroupComponent {
    protected ngControl: NgControl;
    dateTimeEditor: IgxDateTimeEditorDirective;
    inputDirective: IgxInputDirective;
    /** @hidden @internal */
    get nativeElement(): any;
    /** @hidden @internal */
    setFocus(): void;
    /** @hidden @internal */
    updateInputValue(value: Date): void;
    /** @hidden @internal */
    updateInputValidity(state: IgxInputState): void;
}
/**
 * Templates the default icon in the `IgxDateRangePicker`.
 *
 * @igxModule IgxDateRangePickerModule
 *
 * @igxKeyWords date range icon, date picker icon
 *
 * @igxGroup scheduling
 *
 * @example
 * ```html
 * <igx-date-range-picker>
 *   <igx-picker-toggle igxSuffix>
 *      <igx-icon>calendar_view_day</igx-icon>
 *   </igx-picker-toggle>
 * </igx-date-range-picker>
 * ```
 */
export declare class IgxPickerToggleComponent {
    clicked: EventEmitter<any>;
    onClick(event: MouseEvent): void;
}
/**
 * Defines the start input for a date range picker
 *
 * @igxModule IgxDateRangePickerModule
 *
 * @igxTheme igx-input-group-theme, igx-calendar-theme, igx-date-range-picker-theme
 *
 * @igxKeywords date, range, date range, date picker
 *
 * @igxGroup scheduling
 *
 * @remarks
 * When templating, start input has to be templated separately
 *
 * @example
 * ```html
 * <igx-date-range-picker mode="dropdown">
 *      <igx-date-range-start>
 *          <input igxInput igxDateTimeEditor type="text">
 *      </igx-date-range-start>
 *      ...
 * </igx-date-range-picker>
 * ```
 */
export declare class IgxDateRangeStartComponent extends IgxDateRangeInputsBaseComponent {
}
/**
 * Defines the end input for a date range picker
 *
 * @igxModule IgxDateRangeModule
 *
 * @igxTheme igx-input-group-theme, igx-calendar-theme, igx-date-range-picker-theme
 *
 * @igxKeywords date, range, date range, date picker
 *
 * @igxGroup scheduling
 *
 * @remarks
 * When templating, end input has to be template separately
 *
 * @example
 * ```html
 * <igx-date-range-picker mode="dropdown">
 *      <igx-date-range-end>
 *          <input igxInput igxDateTimeEditor type="text">
 *      </igx-date-range-end>
 *      ...
 * </igx-date-range-picker>
 * ```
 */
export declare class IgxDateRangeEndComponent extends IgxDateRangeInputsBaseComponent {
}
export declare class IgxDateRangeSeparatorDirective {
}
