import { Control } from "../control/page";
export declare enum ApplicationType {
    Desktop = "desktop",
    Mobile = "mobile"
}
export declare enum TemplateType {
    Home = "homepage",
    Page = "page",
    Print = "print"
}
/**
 * This API provides administration functionality related to pages.
 *
 * Accessed from the window at `window.sas.vi.pageAdmin`.
 *
 * @example window.sas.vi.pageAdmin.registerPageType(...);
 * @category API
 */
export interface PageAdminApi {
    /**
     * @method
     * @description Registers a page designer configuration.
     * @param name {string} A unique name for the configuration.
     * @param applicationType {ApplicationType} The name of the application type used for this page. Must be a valid datahub client application (for example, "desktop" or "mobile").
     * @param templateType {TemplateType} The name of the template type used for this page. Must be a valid datahub template type (for example, "home" or "page").
     * @param controlGroups {Control[]} The control categories that are displayed in the designer's left hand side toolbox. Must be valid control categories.
     * @param canvasCssClass {string} A CSS class that is applied to the canvas in the designer.
     * @param previewCssClass {string} A CSS class that is applied to the preview (for example, template list).
     * @param options {object} Other designer options: hideSaveAs, customToolbarTemplateUrl, hidePageSettings, hidePreviewGroups.
     * @param dataTypeControlMappings {Record<string,any>} A mapping between the data type and the control used to generate data tab.
     */
    registerPageType(name: string, applicationType: ApplicationType, templateType: TemplateType, controlGroups: Control[], canvasCssClass: string, previewCssClass: string, options: any, dataTypeControlMappings: Record<string, any>): void;
}
