import { AfterViewInit, OnDestroy, OnInit, OnChanges } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { FormBuilder, FormGroup, FormControl } from '@angular/forms';
import { MatSelect } from '@angular/material/select';
import { ReplaySubject, Subject } from 'rxjs';
import { EwMaDesignService } from '../../../ew-ma-design.service';
export declare class GoogleFontsSelectComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {
    private sanitize;
    private formBuilder;
    private designService;
    /**
     * Google Fonts To Use
     */
    ewGoogleFontFamily: string[];
    /**
     * @description
     * Label Texts
     */
    fontFamilyLabelText: string;
    fontTypeLabelText: string;
    /**
     * @description
     * Reactive form/ Template Form integration.
     */
    parentFrom: FormGroup;
    model: any;
    /**
     * @description
     * Control Name
     */
    controlName: string;
    fontControlName: string;
    variantControlName: string;
    font_family_ctrl: FormControl;
    font_type_ctrl: FormControl;
    search_font: FormControl;
    /** Filtered Google Fonts Array */
    protected googleFontsArr: any[];
    /** list of Fonts filtered by search keyword */
    filteredFonts: ReplaySubject<any[]>;
    singleSelect: MatSelect;
    /** Subject that emits when the component has been destroyed. */
    protected _onDestroy: Subject<void>;
    /**
     * Initialise Services
     * @param formBuilder
     */
    constructor(sanitize: DomSanitizer, formBuilder: FormBuilder, designService: EwMaDesignService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(): void;
    ngOnDestroy(): void;
    getValue(): any;
    /**
     * Create From control for font selection
     */
    createControl(): void;
    loadGoogleFontsFamily(): any;
    /**
     * Load Font.
     */
    protected loadFonts(): void;
    /**
     * Sets the initial value after the filteredFonts are loaded initially
     */
    protected setInitialValue(): void;
    protected filterFonts(): void;
    compareObjects(a: any, b: any): boolean;
    protected fontWeight(): void;
    fontSelected(event: any): void;
    varientSelected(event: any): void;
}
