import { IMapView, Dictionary } from "../api/common";
import { ApplicationDefinition, MapConfiguration } from "../api/contracts/fusion";
import { IExternalBaseLayer, ReduxThunkedAction, IMapViewer } from "../api/common";
import { IAcknowledgeStartupWarningsAction, IInitAppActionPayload } from './defs';
import { IViewerInitCommand } from './init-command';
export declare function applyInitialBaseLayerVisibility(externalBaseLayers: IExternalBaseLayer[]): void;
export interface IInitAppLayout {
    locale: string;
    resourceId: string | (() => Promise<ApplicationDefinition>);
    externalBaseLayers?: IExternalBaseLayer[];
    session?: string;
    initialView?: IMapView;
    /**
     *
     * @since 0.11
     * @type {string}
     * @memberof IInitAppLayout
     */
    initialActiveMap?: string;
    /**
     *
     * @since 0.11
     * @type {string[]}
     * @memberof IInitAppLayout
     */
    initialShowLayers?: string[];
    /**
     *
     * @since 0.11
     * @type {string[]}
     * @memberof IInitAppLayout
     */
    initialShowGroups?: string[];
    /**
     *
     * @since 0.11
     * @type {string[]}
     * @memberof IInitAppLayout
     */
    initialHideLayers?: string[];
    /**
     *
     * @since 0.11
     * @type {string[]}
     * @memberof IInitAppLayout
     */
    initialHideGroups?: string[];
    onInit?: (viewer: IMapViewer) => void;
    /**
     * Sets whether feature tooltips should be initially enabled
     *
     * @since 0.13
     */
    featureTooltipsEnabled?: boolean;
    /**
     * @since 0.14
     */
    layout?: string;
    /**
     * @since 0.14.8
     */
    appSettings?: Dictionary<string> | undefined;
}
/**
 * @hidden
 */
export declare function normalizeInitPayload(payload: IInitAppActionPayload, layout: string | undefined): IInitAppActionPayload;
export interface IInitAsyncOptions extends IInitAppLayout {
    locale: string;
}
export declare function processLayerInMapGroup(map: MapConfiguration, warnings: string[], config: any, appDef: ApplicationDefinition, externalBaseLayers: IExternalBaseLayer[]): void;
/**
 * Initializes the viewer
 *
 * @export
 * @param {IViewerInitCommand} cmd
 * @param {IInitAppLayout} options
 * @returns {ReduxThunkedAction}
 */
export declare function initLayout(cmd: IViewerInitCommand, options: IInitAppLayout): ReduxThunkedAction;
export declare function acknowledgeInitWarnings(): IAcknowledgeStartupWarningsAction;
