import { ApiPath, IExtend, IExtendApiManifest, RegiterApiConfiguration } from "@omnia/fx-models";
import { ICombinableRuleComposer } from "../CombinableRuleComposer";
export interface IApiComposer<TReturn> {
    /**
      Register owner api
    */
    registerApi: (exp: ((extend: IExtend) => Promise<any>), configuration?: RegiterApiConfiguration) => TReturn;
    /**
      Register extends the api
    */
    extendApi: (exp: ((extend: IExtendApiManifest) => ApiPath), expRules?: (builder: ICombinableRuleComposer<TReturn>) => void) => TReturn;
}
