import { AfterViewInit, ElementRef, EventEmitter, OnDestroy } from '@angular/core';
import { ReportDesigner as DesignerNS } from '@grapecity/activereports';
import * as i0 from "@angular/core";
export { ColorThemes } from '@grapecity/activereports/reportdesigner';
export type { ColorTheme } from '@grapecity/activereports/reportdesigner';
export declare class DesignerComponent implements AfterViewInit, OnDestroy {
    rootElement: ElementRef;
    private _designer?;
    constructor();
    /** Sets componets width */
    width: string;
    /** Sets componets height */
    height: string;
    /**
     * Called before designer initialization.
     * @returns DesignerConfig to initialize designer instance.
     */
    onInit?: () => DesignerNS.DesignerConfig;
    private _dataSources?;
    /**
     * Sets DataSource templates
     * @param value List of DataSource templates
     */
    set dataSources(value: DesignerNS.DataSourceTemplate[] | undefined);
    get dataSources(): DesignerNS.DataSourceTemplate[] | undefined;
    /** Sets external report list. */
    reportList?: DesignerNS.ReportResourceInfo[];
    /** Sets external master report list. */
    masterReportList?: DesignerNS.ReportResourceInfo[];
    /** Sets external image list. */
    imageList?: DesignerNS.ImageResourceInfo[];
    /** Sets theme list. */
    themeList?: DesignerNS.ThemeResourceInfo[];
    /** Sets the list of available external stylesheets. */
    stylesheetList?: DesignerNS.StylesheetResourceInfo[];
    private _actionHandlers;
    /**
     * Sets handler to be called on open report.
     * Handler return Promise with report info or 'undefined' if operation was cancelled.
     */
    set onCreate(value: DesignerNS.ActionHandlers['onCreate']);
    get onCreate(): DesignerNS.ActionHandlers['onCreate'];
    /**
     * Sets handler to be called on opening report.
     * Handler returns Promise with report info or 'undefined' if operation was cancelled.
     */
    set onOpen(value: DesignerNS.ActionHandlers['onOpen']);
    get onOpen(): DesignerNS.ActionHandlers['onOpen'];
    /**
     * Sets handler to be called on request to render current report.
     */
    set onRender(value: DesignerNS.ActionHandlers['onRender']);
    get onRender(): DesignerNS.ActionHandlers['onRender'];
    /**
     * Sets handler to be called on saving report.
     * Handler returns Promise with new report info if report was saved or 'undefined' if operation was cancelled.
     */
    set onSave(value: DesignerNS.ActionHandlers['onSave']);
    get onSave(): DesignerNS.ActionHandlers['onSave'];
    /**
     * Sets handler to be called on saving report as new.
     * Handler returns Promise with new report info if report was saved or 'undefined' if operation was cancelled.
     */
    set onSaveAs(value: DesignerNS.ActionHandlers['onSaveAs']);
    get onSaveAs(): DesignerNS.ActionHandlers['onSaveAs'];
    /**
     * Sets handler to be called on open custom file menu.
     */
    set onOpenFileMenu(value: DesignerNS.ActionHandlers['onOpenFileMenu']);
    get onOpenFileMenu(): DesignerNS.ActionHandlers['onOpenFileMenu'];
    private _report;
    private _disposables;
    /**
     * Watch report property
     */
    set report(value: DesignerNS.Report);
    /** documentChanged event. */
    documentChanged: EventEmitter<DesignerNS.DocumentChangedEventArgs>;
    ngAfterViewInit(): void;
    /**
     * Sets report.
     * @param report Report info to load.
     * @param whenDirty Action to perform in case of 'dirty' report.
     * @param isDirtyInitial Initial value for 'dirty' state after load.
     */
    setReport(report: DesignerNS.Report, whenDirty?: DesignerNS.WhenDirty, isDirtyInitial?: boolean): Promise<void>;
    /** Gets current report. */
    getReport(): Promise<DesignerNS.ReportInfo>;
    /**
     * Creates report.
     * @param reportInfo Report info to load.
     * @param whenDirty Action to perform in case of 'dirty' report.
     */
    createReport(reportInfo: DesignerNS.NewReportInfo, whenDirty?: DesignerNS.WhenDirty): Promise<void>;
    /**
     * Process command.
     * @param cmd Command name.
     */
    processCommand(cmd: DesignerNS.DesignerCommand): Promise<void>;
    /**
     * Returns focus to Designer.
     */
    focus(): void;
    /**
     * Gets API to manipulate designer.
     */
    getEditorAPI(): Promise<DesignerNS.EditorAPI>;
    getPanelsAPI(): Promise<DesignerNS.PanelsAPI>;
    getNotificationsAPI(): Promise<DesignerNS.NotificationsAPI>;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DesignerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DesignerComponent, "gc-activereports-designer", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "onInit": { "alias": "onInit"; "required": false; }; "dataSources": { "alias": "dataSources"; "required": false; }; "reportList": { "alias": "reportList"; "required": false; }; "masterReportList": { "alias": "masterReportList"; "required": false; }; "imageList": { "alias": "imageList"; "required": false; }; "themeList": { "alias": "themeList"; "required": false; }; "stylesheetList": { "alias": "stylesheetList"; "required": false; }; "onCreate": { "alias": "onCreate"; "required": false; }; "onOpen": { "alias": "onOpen"; "required": false; }; "onRender": { "alias": "onRender"; "required": false; }; "onSave": { "alias": "onSave"; "required": false; }; "onSaveAs": { "alias": "onSaveAs"; "required": false; }; "onOpenFileMenu": { "alias": "onOpenFileMenu"; "required": false; }; "report": { "alias": "report"; "required": false; }; }, { "documentChanged": "documentChanged"; }, never, never, false, never>;
}
