import { EditUserProfileHandlerRegistration } from "@omnia/fx-models";
import { GuidValue } from "../../shared";
import { ApiPath, IExtendApiManifestWithConfiguration } from "../Extends";
export interface IUserProfileApi {
    actionHandlerRegistration: Promise<IUserProfileActionHandlerRegistrationApi>;
}
export interface MySubscriptionRenderElement {
    render(renderingCallback: (elementName: string, domProps: {
        [key: string]: any;
    }) => void, showMySubscription: {
        show: boolean;
    }): void;
}
export declare class MySubscriptionRenderElementRegistration {
    provider: new () => MySubscriptionRenderElement;
    constructor(provider: new () => MySubscriptionRenderElement);
}
export interface IMySubscriptionRendererApi {
    registerRenderMySubscriptionDialog(renderElem: MySubscriptionRenderElementRegistration): void;
    getRendererCallback(): Promise<new () => MySubscriptionRenderElement>;
}
declare module "./UxApi" {
    interface IOmniaUxApi {
        userProfile: IUserProfileApi;
        mySubscription: {
            provider: Promise<IMySubscriptionRendererApi>;
        };
    }
    interface IOmniaUxExtendApiManifest {
        userProfile: {
            actionHandlerRegistration: ApiPath;
        };
        mySubscription: {
            provider: IExtendApiManifestWithConfiguration<GuidValue>;
        };
    }
}
export interface IUserProfileActionHandlerRegistrationApi {
    registerEditProfileActionHandler: (handlerRegistration: EditUserProfileHandlerRegistration | EditUserProfileHandlerRegistration[]) => void;
}
