/**
 * Copyright (c) 2020-present, Goldman Sachs
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import type { GenericLegendApplicationStore } from './ApplicationStore.js';
export type ColorTheme = {
    name: string;
    key: string;
    /**
     * When we eventually refactor theme into palette, we can remove this
     * See https://github.com/finos/legend-studio/issues/264
     */
    TEMPORARY__globalCSSClassName: string;
    colors?: Record<string, string | undefined>;
};
export declare class LayoutService {
    readonly applicationStore: GenericLegendApplicationStore;
    backdropContainerElementID?: string | undefined;
    showBackdrop: boolean;
    private readonly colorThemeRegistry;
    currentColorTheme: ColorTheme;
    /**
     * All color themes registered with the application (core + plugin-contributed).
     * Used to populate theme picker UIs.
     */
    get availableColorThemes(): ColorTheme[];
    constructor(applicationStore: GenericLegendApplicationStore);
    getElementByID(val: string): Element | undefined;
    setWindowTitle(value: string): void;
    /**
     * Change the ID used to find the base element to mount the backdrop on.
     * This is useful when we want to use backdrop with embedded application which
     * requires its own backdrop usage.
     *
     * TODO?: we can consider making backdrop container component auto-register its ID
     * as it gets rendered in the application
     */
    setBackdropContainerElementID(val: string | undefined): void;
    setShowBackdrop(val: boolean): void;
    /**
     * NOTE: this is the poor man way of doing theming as we only properly support dark color theme
     * This flag is binary because we did light color theme in rush
     *
     * See https://github.com/finos/legend-studio/issues/264
     */
    get TEMPORARY__isLightColorThemeEnabled(): boolean;
    private TEMPORARY__syncGlobalCSSClassName;
    setColorTheme(key: string, options?: {
        persist?: boolean | undefined;
    }): void;
    getColor(key: string): string;
}
//# sourceMappingURL=LayoutService.d.ts.map