import { Observable } from 'rxjs';
import { ElementComponent } from '../../pages/builder/element/element.component';
import { HttpClient } from '@angular/common/http';
import { CountryService } from '../country/country.service';
import 'moment/locale/ar-sa';
import 'moment/locale/en-gb';
import { DataService } from '../data/data.service';
import * as i0 from "@angular/core";
export declare class PdfDesignerService {
    private countryService;
    private http;
    private dataService;
    private pdfElements;
    private pdfElementsSubject;
    private selectedElementSubject;
    private selectHeaderSubject;
    private elementComponent;
    pdf: any;
    unique_id: any;
    tempElem: any[];
    pdfElements$: Observable<any[]>;
    selectedElement$: Observable<{
        index: number;
        pdfIndex?: number;
    }>;
    selectHeaderSubject$: Observable<any>;
    currentElement: any;
    selectTableColumn: any;
    currencyOption: any;
    constructor(countryService: CountryService, http: HttpClient, dataService: DataService);
    intializeBook(pdf: any): void;
    getRefQbData(refqbid: string): Observable<any>;
    addElementWithId(): string;
    newBook(): void;
    clearElements(): void;
    getElementComponent(): ElementComponent | null;
    setElementComponent(component: ElementComponent): void;
    addElement(element: any): void;
    addTableElement(element: any, index: number): void;
    updateElement(index: number, updates: Partial<any>): void;
    updateTitle(event: any): void;
    setSelectedElement(index: number, pdfIndex?: number): void;
    setSelectedTableElement(index: any, event: any): void;
    removeSelectedTableElement(index: number, event: any): void;
    getSelectTableColumn(): any;
    selectHeading(event: any): void;
    getElements(): any[];
    sortElementsByOrder(): void;
    getBook(): any;
    downloadElement(): any;
    convertToPdfLayout(input: any): any;
    updateElementsOrder(updatedElements: any[]): void;
    removeElementComponent(id: any): void;
    elementUpdate(element: any, from?: any): void;
    dateTransform(value: any, type: 'date' | 'datetime' | 'month' | 'time', languageCode: string, dateFormatType: 'hijri' | 'gregorianAr' | 'gregorian'): string;
    private toArabicNumbers;
    static ɵfac: i0.ɵɵFactoryDeclaration<PdfDesignerService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<PdfDesignerService>;
}
