import * as i0 from '@angular/core';
import { EventEmitter, ChangeDetectorRef } from '@angular/core';
import { Nullable } from '@fundamental-ngx/cdk/utils';

/** Type of hyphenation */
type HyphenationType = 'none' | 'manual' | 'auto' | null;
declare class TextComponent {
    private readonly _changeDetectorRef;
    /**
     * Text for render
     */
    text: string;
    /**
     * Max visible lines of text
     */
    maxLines: Nullable<number>;
    /**
     * Property allowing browsers to render whitespace and tabs
     */
    whitespaces: boolean;
    /**
     * Property for managing hyphenation, using css rule hyphens.
     */
    hyphenation: HyphenationType;
    /**
     * Option that adds more and less buttons to expand/collapse text
     */
    expandable: boolean;
    /**
     * Option to set text collapsed or expand on render
     */
    isCollapsed: boolean;
    /**
     * Event, notifying about collapse state changes
     */
    isCollapsedChange: EventEmitter<boolean>;
    /** @hidden */
    get _isCollapsed(): boolean;
    /** @hidden */
    get _expandable(): boolean;
    /** @hidden */
    _hasMore: boolean;
    /** @hidden */
    constructor(_changeDetectorRef: ChangeDetectorRef);
    /** @hidden */
    toggleTextView(): void;
    /** @hidden */
    checkLineCount(count: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TextComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TextComponent, "fd-text", never, { "text": { "alias": "text"; "required": false; }; "maxLines": { "alias": "maxLines"; "required": false; }; "whitespaces": { "alias": "whitespaces"; "required": false; }; "hyphenation": { "alias": "hyphenation"; "required": false; }; "expandable": { "alias": "expandable"; "required": false; }; "isCollapsed": { "alias": "isCollapsed"; "required": false; }; }, { "isCollapsedChange": "isCollapsedChange"; }, never, never, true, never>;
}

declare class TextModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<TextModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<TextModule, never, [typeof TextComponent], [typeof TextComponent]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<TextModule>;
}

export { TextComponent, TextModule };
export type { HyphenationType };
