import { type DashboardLayoutExportTransformFn, type DashboardTransformFn } from "../../model/types/commonTypes.js";
import { type LayoutComponentProvider, type OptionalLayoutComponentProvider } from "../../presentation/dashboardContexts/types.js";
import { type CustomDashboardLayoutComponent } from "../../presentation/widget/dashboardLayout/types.js";
import { type ExportLayoutCustomizationFn, type FluidLayoutCustomizationFn, type IDashboardLayoutCustomizer } from "../customizer.js";
import { type IDashboardCustomizationLogger } from "./customizationLogging.js";
import { type CustomizerMutationsContext } from "./types.js";
interface ILayoutCustomizerResult {
    LayoutComponent: CustomDashboardLayoutComponent | undefined;
}
export declare class DefaultLayoutCustomizer implements IDashboardLayoutCustomizer {
    private readonly logger;
    private readonly mutationContext;
    private readonly fluidLayoutTransformations;
    private readonly exportLayoutTransformations;
    private updated;
    private sealed;
    private state;
    constructor(logger: IDashboardCustomizationLogger, mutationContext: CustomizerMutationsContext, defaultProvider?: LayoutComponentProvider);
    customizeFluidLayout: (customizationFn: FluidLayoutCustomizationFn) => IDashboardLayoutCustomizer;
    customizeExportLayout: (customizationFn: ExportLayoutCustomizationFn) => IDashboardLayoutCustomizer;
    withCustomProvider: (provider: (props: import("../../presentation/widget/dashboardLayout/types.js").IDashboardLayoutProps) => CustomDashboardLayoutComponent | undefined) => IDashboardLayoutCustomizer;
    withCustomDecorator(providerFactory: (next: LayoutComponentProvider) => OptionalLayoutComponentProvider): IDashboardLayoutCustomizer;
    getCustomizerResult: () => ILayoutCustomizerResult;
    sealCustomizer: () => IDashboardLayoutCustomizer;
    getExistingDashboardTransformFn: () => DashboardTransformFn;
    getExistingLayoutTransformFn: () => DashboardLayoutExportTransformFn;
}
export {};
//# sourceMappingURL=layoutCustomizer.d.ts.map