import { ElementRef, Renderer2, OnInit, OnChanges } from '@angular/core';
import { LyTheme2, ThemeVariables, StyleCollection, StyleTemplate, StyleRenderer } from '@alyle/ui';
import { BooleanInput } from '@angular/cdk/coercion';
import * as i0 from "@angular/core";
export interface LyTypographyTheme {
    /** Styles for Typography Component */
    root?: StyleCollection<(() => StyleTemplate)> | (() => StyleTemplate);
    lyTyp?: {
        [name: string]: StyleCollection<(() => StyleTemplate)> | (() => StyleTemplate) | undefined;
    };
}
export interface LyTypographyVariables {
    typography?: LyTypographyTheme;
}
export declare const STYLES: (theme: ThemeVariables & LyTypographyVariables) => {
    $name: string;
    $priority: number;
    root: (_className: string) => string;
    gutterTop: (_className: string) => string;
    gutterBottom: (_className: string) => string;
    gutter: (_className: string) => string;
};
/** @docs-private */
export declare class LyTypographyBase {
    _theme: LyTheme2;
    constructor(_theme: LyTheme2);
}
/** @docs-private */
export declare const LyTypographyMixinBase: import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/build-common-behaviors").CanStyleUpdater> & import("@alyle/ui/src/common/constructor").Constructor<import("@alyle/ui/src/common/color").CanColor> & typeof LyTypographyBase;
export declare class LyTypography extends LyTypographyMixinBase implements OnInit, OnChanges {
    private _el;
    private renderer;
    readonly sRenderer: StyleRenderer;
    /** @docs-private */
    static readonly и = "LyTypography";
    /** @docs-private */
    readonly classes: import("@alyle/ui").LyClasses<(theme: ThemeVariables & LyTypographyVariables) => {
        $name: string;
        $priority: number;
        root: (_className: string) => string;
        gutterTop: (_className: string) => string;
        gutterBottom: (_className: string) => string;
        gutter: (_className: string) => string;
    }>;
    private _lyTyp;
    private _lyTypClass;
    private _gutter;
    private _gutterTop;
    private _gutterBottom;
    private _noWrap;
    private _noWrapClass?;
    set lyTyp(val: string);
    get lyTyp(): string;
    /** The text will truncate with an ellipsis. */
    set noWrap(val: BooleanInput);
    get noWrap(): boolean;
    set gutter(val: BooleanInput);
    get gutter(): BooleanInput;
    set gutterTop(val: BooleanInput);
    get gutterTop(): BooleanInput;
    set gutterBottom(val: BooleanInput);
    get gutterBottom(): BooleanInput;
    constructor(_theme: LyTheme2, _el: ElementRef, renderer: Renderer2, sRenderer: StyleRenderer);
    ngOnInit(): void;
    ngOnChanges(): void;
    private _createTypClass;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyTypography, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<LyTypography, "[lyTyp]", never, { "color": { "alias": "color"; "required": false; }; "lyTyp": { "alias": "lyTyp"; "required": false; }; "noWrap": { "alias": "noWrap"; "required": false; }; "gutter": { "alias": "gutter"; "required": false; }; "gutterTop": { "alias": "gutterTop"; "required": false; }; "gutterBottom": { "alias": "gutterBottom"; "required": false; }; }, {}, never, never, false, never>;
}
