import { OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup } from '@angular/forms';
import { MatSelectChange } from '@angular/material';
import { Store } from '@ngrx/store';
import { Observable, Subscription } from 'rxjs';
import { PrintLayout, PrintSize } from '../../store/print/print.reducers';
import { MangolConfigPrintItem, PrintDictionary } from './../../interfaces/config-toolbar.interface';
import * as fromMangol from './../../store/mangol.reducers';
export interface Layout {
    name: string;
    value: string;
}
export declare class PrintComponent implements OnInit, OnDestroy {
    private store;
    private fb;
    form: FormGroup;
    printConfig$: Observable<MangolConfigPrintItem>;
    dictionary$: Observable<PrintDictionary>;
    layouts$: Observable<PrintLayout[]>;
    resolutions$: Observable<number[]>;
    sizes$: Observable<PrintSize[]>;
    selectedLayout$: Observable<PrintLayout>;
    selectedResolution$: Observable<number>;
    selectedSize$: Observable<PrintSize>;
    printConfigSubscription: Subscription;
    printInProgress: boolean;
    constructor(store: Store<fromMangol.MangolState>, fb: FormBuilder);
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Performs the print action
     */
    print(): void;
    /**
     * Layout change
     * @param evt
     */
    onLayoutChange(evt: MatSelectChange): void;
    /**
     * Size change
     * @param evt
     */
    onSizeChange(evt: MatSelectChange): void;
    /**
     * Resolution change
     * @param evt
     */
    onResolutionChange(evt: MatSelectChange): void;
}
