///
import { OakComponentOption as BaseOakComponentOption, DataOption, MethodOption, ReactComponentProps } from 'oak-frontend-base/lib/types/Page';
import { EntityDict as BaseEntityDict } from 'oak-domain/lib/types/Entity';
import { EntityDict } from '../general-app-domain';
import { Aspect } from 'oak-domain/lib/types/Aspect';
import { Feature } from 'oak-frontend-base/lib/types/Feature';
import { BasicFeatures } from 'oak-frontend-base/lib/features/index';
import { CommonAspectDict } from 'oak-common-aspect';
import { GeneralFeatures } from '../features';
import GeneralAspectDict from '../aspects/AspectDict';
import { BackendRuntimeContext } from '../context/BackendRuntimeContext';
import { FrontendRuntimeContext } from '../context/FrontendRuntimeContext';
export declare type OakComponentOption, FrontCxt extends FrontendRuntimeContext>, AD extends Record>, FD extends Record, FormedData extends Record, IsList extends boolean, TData extends Record, TProperty extends DataOption, TMethod extends Record> = BaseOakComponentOption, FD & GFD>, FormedData, IsList, TData, TProperty, TMethod, {
subscribeMpMessage: (messageTypes: string[], haveToAccept?: boolean, tip?: string) => Promise;
}> & Partial<{
wechatMp: {
relatedMessageTypes?: string[];
};
}>;
export declare type GAD> = GeneralAspectDict & CommonAspectDict;
declare type BF, FrontCxt extends FrontendRuntimeContext, AD extends GAD> = BasicFeatures;
declare type GF, FrontCxt extends FrontendRuntimeContext, AD extends GAD> = GeneralFeatures;
export declare type GFD, FrontCxt extends FrontendRuntimeContext, AD extends GAD> = BF & GF;
export declare type MakeOakComponent, FrontCxt extends FrontendRuntimeContext>, AD extends Record>, FD extends Record> = (options: OakComponentOption) => (props: ReactComponentProps) => React.ReactElement;
export {};