import { Path } from './../index';
import { Animation, DropDownPosition, PathFormat } from './../index';
import { AfterViewInit, ElementRef, OnInit, OnChanges, OnDestroy, SimpleChanges, EventEmitter } from '@angular/core';
import { BaseElement } from './smart.element';
import * as i0 from "@angular/core";
export { Animation, DropDownPosition, PathFormat, ElementRenderMode } from './../index';
export { Smart } from './smart.element';
export { Path } from './../index';
export declare class PathComponent extends BaseElement implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    constructor(ref: ElementRef<Path>);
    private eventHandlers;
    nativeElement: Path;
    /** @description Creates the component on demand.
     * @param properties An optional object of properties, which will be added to the template binded ones.
     */
    createComponent(properties?: {}): any;
    /** @description Sets or gets the animation mode. Animation is disabled when the property is set to 'none' */
    get animation(): Animation | string;
    set animation(value: Animation | string);
    /** @description Determines the data source for the item that will be displayed inside the drop down. */
    get dataSource(): any;
    set dataSource(value: any);
    /** @description Enables or disables the element. */
    get disabled(): boolean;
    set disabled(value: boolean);
    /** @description Sets or gets the displayMember. The displayMember specifies the name of an object property to display. The name is contained in the collection specified by the 'dataSource' property. */
    get displayMember(): string;
    set displayMember(value: string);
    /** @description Sets the parent container of the dropDown (the popup). Used when a CSS property of unknown parent is interfering with the visibility of the dropDown. */
    get dropDownAppendTo(): any;
    set dropDownAppendTo(value: any);
    /** @description Sets the height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownHeight(): string | number;
    set dropDownHeight(value: string | number);
    /** @description Sets the max height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownMaxHeight(): string | number;
    set dropDownMaxHeight(value: string | number);
    /** @description Sets the max width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownMaxWidth(): string | number;
    set dropDownMaxWidth(value: string | number);
    /** @description Sets the min height of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownMinHeight(): string | number;
    set dropDownMinHeight(value: string | number);
    /** @description Sets the min width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownMinWidth(): string | number;
    set dropDownMinWidth(value: string | number);
    /** @description If this property is enabled, when the element's dropdown is opened, a transparent overlay is positioned between the dropdown and the rest of the document. */
    get dropDownOverlay(): boolean;
    set dropDownOverlay(value: boolean);
    /** @description Determines the vertical position of the dropDown. 'Auto' means its automatically determined depending on the viewport size. */
    get dropDownPosition(): DropDownPosition | string;
    set dropDownPosition(value: DropDownPosition | string);
    /** @description Sets the width of the drop down. Default value of empty string means that CSS variables are used. This property should be used when the browser doesn't support CSS variables. */
    get dropDownWidth(): string | number;
    set dropDownWidth(value: string | number);
    /** @description Sets additional helper text below the element.  */
    get hint(): string;
    set hint(value: string);
    /** @description Sets the element as an indicator. */
    get indicator(): boolean;
    set indicator(value: boolean);
    /** @description A getter that returns an array of all Path items. */
    get items(): any[];
    set items(value: any[]);
    /** @description Sets label above the element.  */
    get label(): string;
    set label(value: string);
    /** @description Sets or gets the unlockKey which unlocks the product. */
    get unlockKey(): string;
    set unlockKey(value: string);
    /** @description Sets or gets the language. Used in conjunction with the property messages.  */
    get locale(): string;
    set locale(value: string);
    /** @description Sets or gets an object specifying strings used in the widget that can be localized. Used in conjunction with the property locale.  */
    get messages(): any;
    set messages(value: any);
    /** @description The name of the control. */
    get name(): string;
    set name(value: string);
    /** @description Determines whether the popup is opened or closed */
    get opened(): boolean;
    set opened(value: boolean);
    /** @description Determines the element's placeholder. */
    get placeholder(): string;
    set placeholder(value: string);
    /** @description Determines the format of the path. Follows specific operation system criteria by changing the drive,folder separators.  */
    get pathFormat(): PathFormat | string;
    set pathFormat(value: PathFormat | string);
    /** @description Disables user interaction with the element. */
    get readonly(): boolean;
    set readonly(value: boolean);
    /** @description Sets or gets the value indicating whether the element is aligned to support locales using right-to-left fonts. */
    get rightToLeft(): boolean;
    set rightToLeft(value: boolean);
    /** @description Determines the theme. Theme defines the look of the element */
    get theme(): string;
    set theme(value: string);
    /** @description If is set to true, the element cannot be focused. */
    get unfocusable(): boolean;
    set unfocusable(value: boolean);
    /** @description The value of the Path control. */
    get value(): string;
    set value(value: string);
    /** @description Determines the value member of an item. Stored as value in the item object. */
    get valueMember(): string;
    set valueMember(value: string);
    /** @description Determines whether or not the element wraps to a new line if overflows. If set the Path can be wrapped on multiple lines.  */
    get wrap(): boolean;
    set wrap(value: boolean);
    /** @description This event is triggered when user clicks on the browse button.
    *  @param event. The custom event. 	*/
    onBrowseButtonClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the value is changed.
    *  @param event. The custom event. 	*/
    onChange: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the drop down is closed.
    *  @param event. The custom event. 	*/
    onClose: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the drop down is closing.
    *  @param event. The custom event. 	*/
    onClosing: EventEmitter<CustomEvent>;
    /** @description This event is triggered when user clicks on the drop down button.
    *  @param event. The custom event. 	*/
    onDropDownButtonClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when an item from the popup is clicked.
    *  @param event. The custom event. 	*/
    onItemClick: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the drop down is opened.
    *  @param event. The custom event. 	*/
    onOpen: EventEmitter<CustomEvent>;
    /** @description This event is triggered when the drop down is opening.
    *  @param event. The custom event. 	*/
    onOpening: EventEmitter<CustomEvent>;
    /** @description Closes the dropDown.
    */
    close(): void;
    /** @description Opens the dropDown.
    */
    open(): void;
    /** @description Set's the Path element to 'emptyPath' state and changes the value to '////'.
    */
    setToEmptyPath(): void;
    /** @description Set's the Path element to 'notAPath' state and changes the value to '//'.
    */
    setToNotAPath(): void;
    get isRendered(): boolean;
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    ngOnChanges(changes: SimpleChanges): void;
    /** @description Add event listeners. */
    private listen;
    /** @description Remove event listeners. */
    private unlisten;
    static ɵfac: i0.ɵɵFactoryDeclaration<PathComponent, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<PathComponent, "smart-path, [smart-path]", ["smart-path"], { "animation": "animation"; "dataSource": "dataSource"; "disabled": "disabled"; "displayMember": "displayMember"; "dropDownAppendTo": "dropDownAppendTo"; "dropDownHeight": "dropDownHeight"; "dropDownMaxHeight": "dropDownMaxHeight"; "dropDownMaxWidth": "dropDownMaxWidth"; "dropDownMinHeight": "dropDownMinHeight"; "dropDownMinWidth": "dropDownMinWidth"; "dropDownOverlay": "dropDownOverlay"; "dropDownPosition": "dropDownPosition"; "dropDownWidth": "dropDownWidth"; "hint": "hint"; "indicator": "indicator"; "items": "items"; "label": "label"; "unlockKey": "unlockKey"; "locale": "locale"; "messages": "messages"; "name": "name"; "opened": "opened"; "placeholder": "placeholder"; "pathFormat": "pathFormat"; "readonly": "readonly"; "rightToLeft": "rightToLeft"; "theme": "theme"; "unfocusable": "unfocusable"; "value": "value"; "valueMember": "valueMember"; "wrap": "wrap"; }, { "onBrowseButtonClick": "onBrowseButtonClick"; "onChange": "onChange"; "onClose": "onClose"; "onClosing": "onClosing"; "onDropDownButtonClick": "onDropDownButtonClick"; "onItemClick": "onItemClick"; "onOpen": "onOpen"; "onOpening": "onOpening"; }, never>;
}
