/// <reference types="react" />
import { UseAsyncReturn } from 'react-async-hook';
import { Selection } from '@fluentui/react';
import { IContentType } from '@shared/interfaces/model';
import { ModelState } from '@admin/helpers/hooks';
interface IContentTypesContext {
    selection: Selection<IContentType>;
    getContentTypes: UseAsyncReturn<IContentType[], [params?: any]>;
    getContentType: UseAsyncReturn<IContentType, [id: number]>;
    getSingleContentType: UseAsyncReturn<IContentType, [data: any]>;
    createContentType: UseAsyncReturn<IContentType, [data?: any]>;
    updateContentType: UseAsyncReturn<IContentType, [id: number, data?: any]>;
    deleteContentTypes: UseAsyncReturn<number[] | string[], [
        ids?: number[] | string[],
        params?: any
    ]>;
    importContentTypes: UseAsyncReturn<IContentType[], [data?: any]>;
    selectedContentTypes: IContentType[];
    getComponents: UseAsyncReturn<any, []>;
    getFields: UseAsyncReturn<any, []>;
    getField: UseAsyncReturn<any, [type: string]>;
    contentTypes: IContentType[];
    contentTypesState: ModelState<IContentType>;
    params: any;
    setParams: (params: any) => void;
    stateData: any;
    setStateData: (key: string, val: any) => void;
}
declare const ContentTypesContextProvider: ({ children }: {
    children: any;
}) => JSX.Element;
declare const useContentTypes: () => IContentTypesContext;
export { useContentTypes, ContentTypesContextProvider };
