import React from 'react';
import { UseFormReturn } from 'react-hook-form';
import { Artifact, Need } from '@parlor/common/amplify-schema';
import { Fields } from '@parlor/components/need-components/manage-need';
import { NeedItemFormValues } from '@parlor/components/need-components/need-item';
import { ModelWithDisplayName, ModelWithId, RenderAdminSelectorProps } from '@parlor/components/select';
type PopupNeedFormValues = NeedItemFormValues & {
    account?: ModelWithDisplayName;
    artifact: ModelWithId;
    description: string;
    organizationID: string;
    seen: boolean;
    user?: RenderAdminSelectorProps;
    userOrAccount: RenderAdminSelectorProps | ModelWithDisplayName;
};
type GetFields = (options: Pick<UseFormReturn<PopupNeedFormValues>, 'getValues' | 'setValue'>) => Fields;
export type ArtifactDetailsProps = {
    artifact: Partial<Artifact>;
    highlightIconCoords?: DOMRect;
    isSaving?: boolean;
    manageNeedFieldOptions: GetFields;
    onCreateNeed: (need: Partial<Need>) => Promise<Partial<Need>>;
    onHighlightClick?: (needId: string) => void;
    setHighlightIconCoords?: React.Dispatch<React.SetStateAction<DOMRect>>;
    updateDescription: (desc: string) => Promise<void>;
};
export declare const ArtifactDetails: ({ highlightIconCoords, setHighlightIconCoords, artifact, onCreateNeed, updateDescription, manageNeedFieldOptions, onHighlightClick, isSaving, }: ArtifactDetailsProps) => JSX.Element;
export {};
