import { ApiPath } from "../Extends";
import { LayoutTemplateRegistration } from "../Layout";
import { IMessageBusTopicSubscription } from "../Messaging";
export interface IInternalRegistrationLayoutTemplate extends IRegistrationLayoutTemplate {
    getAllLayoutTemplates: () => LayoutTemplateRegistration[];
    onLayoutTemplateRegistrationChange: () => IMessageBusTopicSubscription<LayoutTemplateRegistration[]>;
}
export interface IRegistrationLayoutTemplate {
    registerLayoutTemplates: (items: LayoutTemplateRegistration | LayoutTemplateRegistration[]) => void;
}
export interface ILayoutCanvasApi {
    registration: Promise<IRegistrationLayoutTemplate>;
}
declare module "./UxApi" {
    interface IOmniaUxApi {
        layoutCanvas: ILayoutCanvasApi;
    }
    interface IOmniaUxExtendApiManifest {
        layoutCanvas: {
            registration: ApiPath;
        };
    }
}
