import React from 'react';
import { SourceOfData, SentimentTypes } from '@parlor/common/amplify-schema';
import { GetFields, NeedItemFormValues } from '@parlor/components/need-components/need-item';
import { ModelWithDisplayName, RenderAdminSelectorProps, RenderInboxSelectorProps, RenderUserSelectorProps } from '@parlor/components/select';
export type InitialFormParams = {
    account?: RenderAdminSelectorProps;
    adminAuthor?: RenderAdminSelectorProps;
    inbox?: RenderInboxSelectorProps;
    organizationId: string;
    surveyResponse: {
        id: string;
        objectSource?: SourceOfData;
        question: string;
        sentiment?: SentimentTypes;
        text: string;
    };
    user?: RenderUserSelectorProps;
};
export type FormProps = {
    isLoading?: boolean;
    manageNeedFieldOptions: GetFields;
    needId?: string;
    needPopupForm?: any;
    onCreate?: (values?: PopupNeedFormValues) => any;
    onView?: (needId?: string) => void;
    outsideInboxId?: string;
} & InitialFormParams;
type PopupNeedFormValues = NeedItemFormValues & {
    account?: ModelWithDisplayName;
    description: string;
    organizationID: string;
    seen: boolean;
    user?: RenderAdminSelectorProps;
    userOrAccount: RenderAdminSelectorProps | ModelWithDisplayName;
};
export declare const FormComponent: ({ isLoading, manageNeedFieldOptions, onCreate, needPopupForm, outsideInboxId, }: FormProps) => JSX.Element;
export declare const Form: React.MemoExoticComponent<({ isLoading, manageNeedFieldOptions, onCreate, needPopupForm, outsideInboxId, }: FormProps) => JSX.Element>;
export {};
