import { OnInit, EventEmitter } from "@angular/core";
import { TimeAxisLabelFormat } from "./TimeAxisLabelFormat";
import { IgxLabelFormatOverrideEventArgs } from "./igx-label-format-override-event-args";
import * as i0 from "@angular/core";
export declare class IgxTimeAxisLabelFormatComponent implements OnInit {
    protected _implementation: any;
    get i(): TimeAxisLabelFormat;
    private onImplementationCreated;
    constructor();
    protected createImplementation(): TimeAxisLabelFormat;
    ngOnInit(): void;
    private _renderer;
    private _provideRenderer;
    static _createFromInternal(internal: any): IgxTimeAxisLabelFormatComponent;
    /**
 * The visible axis range at which to apply this label format.
*
* The `Range` property provide the visible axis range at which to apply this label format.
*
* ```ts
* let labelFormat = new TimeAxisLabelFormat();
* labelFormat.format = "hh:mm:ss";
* labelFormat.range = 1000;
* this.xAxis.labelFormats.add(labelFormat);
* labelFormat = new TimeAxisLabelFormat();
* labelFormat.format = "hh:mm";
* labelFormat.range = 60 * 1000;
* this.xAxis.labelFormats.add(labelFormat);
* labelFormat = new TimeAxisLabelFormat();
* labelFormat.format = "MMM-dd-yy";
* labelFormat.range = 24 * 60 * 60 * 1000;
* this.xAxis.labelFormats.add(labelFormat);
* ```
*
* ```html
* <igx-data-chart
*     [dataSource]="data">
* 	<igx-time-x-axis
* 		[labelFormats]="labelFormats"
* 		dateTimeMemberPath="time"
* 		#xAxis>
*     </igx-time-x-axis>
* </igx-data-chart>
* ```
*/
    get range(): number;
    set range(v: number);
    static ngAcceptInputType_range: number | string;
    /**
     * The DateTime format string to apply.
     * Some common DateTime format strings are: yyyy, MM/dd/yy, and hh:mm:ss.
     * This property is deprecated. Use LabelFormat and LabelFormatSpecifiers instead.
    *
    * The `Format` property provide the DateTime format string to apply.
    *
    * ```ts
    * let labelFormat = new TimeAxisLabelFormat();
    * labelFormat.format = "hh:mm:ss";
    * labelFormat.range = 1000;
    * this.xAxis.labelFormats.add(labelFormat);
    * labelFormat = new TimeAxisLabelFormat();
    * labelFormat.format = "hh:mm";
    * labelFormat.range = 60 * 1000;
    * this.xAxis.labelFormats.add(labelFormat);
    * labelFormat = new TimeAxisLabelFormat();
    * labelFormat.format = "MMM-dd-yy";
    * labelFormat.range = 24 * 60 * 60 * 1000;
    * this.xAxis.labelFormats.add(labelFormat);
    * ```
    *
    * ```html
    * <igx-data-chart
    *     [dataSource]="data">
    * 	<igx-time-x-axis
    * 		[labelFormats]="labelFormats"
    * 		dateTimeMemberPath="time"
    * 		#xAxis>
    *     </igx-time-x-axis>
    * </igx-data-chart>
    * ```
     * @deprecated This property is deprecated. Use LabelFormat and LabelFormatSpecifiers instead.
    */
    get format(): string;
    set format(v: string);
    /**
     * The DateTime format string to apply, if the year is repeated from the prior date.
     * Some common DateTime format strings are: yyyy, MM/dd/yy, and hh:mm:ss.
     * This property is deprecated. Use RepeatedYearLabelFormat and RepeatedYearLabelFormatSpecifiers instead.
     * @deprecated This property is deprecated. Use RepeatedYearLabelFormat and RepeatedYearLabelFormatSpecifiers instead.
    */
    get repeatedYearFormat(): string;
    set repeatedYearFormat(v: string);
    /**
     * The DateTime format string to apply, if the month is repeated from the prior date.
     * Some common DateTime format strings are: yyyy, MM/dd/yy, and hh:mm:ss.
     * This property is deprecated. Use RepeatedMonthLabelFormat and RepeatedMonthLabelFormatSpecifiers instead.
     * @deprecated This property is deprecated. Use RepeatedMonthLabelFormat and RepeatedMonthLabelFormatSpecifiers instead.
    */
    get repeatedMonthFormat(): string;
    set repeatedMonthFormat(v: string);
    /**
     * The DateTime format string to apply, if the day is repeated from the prior date.
     * Some common DateTime format strings are: yyyy, MM/dd/yy, and hh:mm:ss.
     * This property is deprecated. Use RepeatedDayLabelFormat and RepeatedDayLabelFormatSpecifiers instead.
     * @deprecated This property is deprecated. Use RepeatedDayLabelFormat and RepeatedDayLabelFormatSpecifiers instead.
    */
    get repeatedDayFormat(): string;
    set repeatedDayFormat(v: string);
    /**
     * The label format template string to apply, using {0} placeholders processed by BindingFormatter.
     * Use this together with LabelFormatSpecifiers to control how DateTime values are formatted.
     * For example, set LabelFormat to "{0}" and assign a DateTimeFormatSpecifier to LabelFormatSpecifiers.
    */
    get labelFormat(): string;
    set labelFormat(v: string);
    /**
     * The format specifiers to apply to the label format placeholders.
     * Assign an array of FormatSpecifier objects (e.g. DateTimeFormatSpecifier) to control
     * how the {0} placeholder in LabelFormat is formatted.
    */
    get labelFormatSpecifiers(): any[];
    set labelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_labelFormatSpecifiers: any[] | string;
    /**
     * The label format template string to apply when the year is repeated from the prior date.
     * Use this together with RepeatedYearLabelFormatSpecifiers to control how DateTime values are formatted
     * when the year is repeated.
    */
    get repeatedYearLabelFormat(): string;
    set repeatedYearLabelFormat(v: string);
    /**
     * The format specifiers to apply when the year is repeated from the prior date.
    */
    get repeatedYearLabelFormatSpecifiers(): any[];
    set repeatedYearLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_repeatedYearLabelFormatSpecifiers: any[] | string;
    /**
     * The label format template string to apply when the month is repeated from the prior date.
     * Use this together with RepeatedMonthLabelFormatSpecifiers to control how DateTime values are formatted
     * when the month is repeated.
    */
    get repeatedMonthLabelFormat(): string;
    set repeatedMonthLabelFormat(v: string);
    /**
     * The format specifiers to apply when the month is repeated from the prior date.
    */
    get repeatedMonthLabelFormatSpecifiers(): any[];
    set repeatedMonthLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_repeatedMonthLabelFormatSpecifiers: any[] | string;
    /**
     * The label format template string to apply when the day is repeated from the prior date.
     * Use this together with RepeatedDayLabelFormatSpecifiers to control how DateTime values are formatted
     * when the day is repeated.
    */
    get repeatedDayLabelFormat(): string;
    set repeatedDayLabelFormat(v: string);
    /**
     * The format specifiers to apply when the day is repeated from the prior date.
    */
    get repeatedDayLabelFormatSpecifiers(): any[];
    set repeatedDayLabelFormatSpecifiers(v: any[]);
    static ngAcceptInputType_repeatedDayLabelFormatSpecifiers: any[] | string;
    findByName(name: string): any;
    protected __p: string;
    protected _hasUserValues: Set<string>;
    protected get hasUserValues(): Set<string>;
    protected __m(propertyName: string): void;
    protected _stylingContainer: any;
    protected _stylingParent: any;
    protected _inStyling: boolean;
    protected _styling(container: any, component: any, parent?: any): void;
    private _labelFormatOverride;
    /**
     * Gets or sets a label formatting override callback, allowing the user to take full control of label generation for the TimeXAxis.
    */
    get labelFormatOverride(): EventEmitter<{
        sender: any;
        args: IgxLabelFormatOverrideEventArgs;
    }>;
    protected _zoneRunner: (act: () => void) => void;
    protected _runInZone(act: () => void): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<IgxTimeAxisLabelFormatComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<IgxTimeAxisLabelFormatComponent, "igx-time-axis-label-format", never, { "range": { "alias": "range"; "required": false; }; "format": { "alias": "format"; "required": false; }; "repeatedYearFormat": { "alias": "repeatedYearFormat"; "required": false; }; "repeatedMonthFormat": { "alias": "repeatedMonthFormat"; "required": false; }; "repeatedDayFormat": { "alias": "repeatedDayFormat"; "required": false; }; "labelFormat": { "alias": "labelFormat"; "required": false; }; "labelFormatSpecifiers": { "alias": "labelFormatSpecifiers"; "required": false; }; "repeatedYearLabelFormat": { "alias": "repeatedYearLabelFormat"; "required": false; }; "repeatedYearLabelFormatSpecifiers": { "alias": "repeatedYearLabelFormatSpecifiers"; "required": false; }; "repeatedMonthLabelFormat": { "alias": "repeatedMonthLabelFormat"; "required": false; }; "repeatedMonthLabelFormatSpecifiers": { "alias": "repeatedMonthLabelFormatSpecifiers"; "required": false; }; "repeatedDayLabelFormat": { "alias": "repeatedDayLabelFormat"; "required": false; }; "repeatedDayLabelFormatSpecifiers": { "alias": "repeatedDayLabelFormatSpecifiers"; "required": false; }; }, { "labelFormatOverride": "labelFormatOverride"; }, never, never, true, never>;
}
