import { RenderComponent, UseContent, Context, FactoryParams, PlatformApi } from '../types';
import type { PropType } from 'vue'

export interface UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS, API extends PlatformApi = any> extends FactoryParams<API> {
    search: (context: Context, params: CONTENT_SEARCH_PARAMS) => Promise<CONTENT>;
}
export declare function useContentFactory<CONTENT, CONTENT_SEARCH_PARAMS, API extends PlatformApi = any>(factoryParams: UseContentFactoryParams<CONTENT, CONTENT_SEARCH_PARAMS, API>): (id: string) => UseContent<CONTENT, CONTENT_SEARCH_PARAMS, API>;
export declare type RenderContentFactoryParams<CONTENT = any> = {
    extractContent: (content: any) => CONTENT;
};
export declare function renderContentFactory(factoryParams: RenderContentFactoryParams<RenderComponent[]>): {
    render: (createElement: any) => any;
    props: {
        content: PropType<any>;
    };
};
