import { ReactNode } from 'react';
import { Toaster } from '@m4l/core';
import { CookieType, WindowQueryCloseHandler } from '../../../areas/types';
import { ModuleAction } from '../../types';
/**
 * Window-scoped tools exposed through the WindowToolsMF context.
 */
export type { WindowQueryCloseRequest } from '../../../areas/types';
export interface WindowToolsMF {
    /**
     * Read one cookie by id.
     */
    getCookie: (id: string) => Record<string, any> | undefined;
    /**
     * Read the current window id.
     */
    getWindowId: () => string;
    /**
     * Read all cookies for one scope.
     */
    getCookies: (type: CookieType) => Record<string, any>;
    /**
     * Replace the shell actions exposed by the mounted content.
     */
    setActions: (newActions: ModuleAction[], version?: string, buildTime?: string) => void;
    /**
     * Persist one cookie in the requested scope.
     */
    setCookie: (id: string, type: CookieType, cookie: Record<string, any> | Array<any>) => void;
    /**
     * Start the shell progress indicator.
     */
    startProgress: () => void;
    /**
     * Stop the shell progress indicator.
     */
    stopProgress: () => void;
    /**
     * Create toasts scoped to the current window.
     */
    toast: Toaster;
    /**
     * Close the current window.
     */
    close: (useFnQueryClose?: boolean) => void;
    /**
     * Replace the default close flow with a guarded close handler.
     */
    setFnQueryClose: (fnQueryClose: WindowQueryCloseHandler) => void;
    /**
     * Update the window title.
     */
    setWindowTitle: (title: string) => void;
    /**
     * Update the window subtitle.
     */
    setWindowSubTitle: (subtitle: string) => void;
    /**
     * Update the edit-context label shown by the shell.
     */
    setWindowEditionInfo: (editionInfo: string) => void;
}
/**
 * Props accepted by the WindowToolsMF provider component.
 */
export interface WindowToolsMFProviderProps extends WindowToolsMF {
    children: ReactNode;
}
/**
 * WindowToolsMF context value without the React children prop.
 */
export type WindowToolsMFContextProps = Omit<WindowToolsMFProviderProps, 'children'>;
//# sourceMappingURL=types.d.ts.map