/// <reference types="react" />
import { UseFormReturn } from 'react-hook-form';
import { PropertyMap, SentimentTypes } from '@parlor/common/amplify-schema';
import { JiraModel, RenderAdminSelectorProps, RenderAirtableSelectorProps, RenderInboxSelectorProps, RenderStatusSelectorProps, RenderTaskSelectorProps, RenderThemeSelectorProps, RenderTopicSelectorProps, RenderTypeSelectorProps } from '@parlor/components/select';
import { SearchSelectorProps } from '@parlor/components/select-v4';
import { FormBlockProps } from '@parlor/ui/form-block';
import { possiblyVisibleFields, visibleFields } from './utils/constants';
export type ManageNeedFormValues = {
    adminAssigned?: RenderAdminSelectorProps;
    airtableTask?: RenderAirtableSelectorProps;
    id?: string;
    inbox?: RenderInboxSelectorProps;
    isProcessed?: boolean;
    jiraIssue?: RenderTaskSelectorProps;
    sentiment?: SentimentTypes | null;
    statusOption?: RenderStatusSelectorProps | null;
    themes?: RenderThemeSelectorProps[];
    topic?: RenderTopicSelectorProps;
    typeOption?: RenderTypeSelectorProps | null;
};
export type FieldProps<T extends string> = Record<T, {
    data?: Record<string, any>;
    loadOptions?: SearchSelectorProps<JiraModel>['loadOptions'];
    onCreate?: (value: string, options: {
        getValues: UseFormReturn;
        setValue: any;
    }) => void;
    options?: any[];
    order?: number;
    show?: boolean;
    value?: ManageNeedFormValues[keyof ManageNeedFormValues];
}>;
export type Fields = Partial<FieldProps<keyof typeof possiblyVisibleFields>> & FieldProps<keyof typeof visibleFields>;
export type ManageNeedProps = {
    className?: string;
    customFieldProperties?: PropertyMap[];
    defaultOpen?: boolean;
    fieldOptions?: Fields;
    showProcessButton?: boolean;
    variation?: FormBlockProps['variation'];
};
export declare const ManageNeedInner: ({ fieldOptions, defaultOpen, customFieldProperties, className, showProcessButton, variation, }: ManageNeedProps) => JSX.Element;
export declare const ManageNeed: ({ fieldOptions, defaultOpen, customFieldProperties, className, showProcessButton, variation, }: ManageNeedProps) => JSX.Element;
