import React, { BaseSyntheticEvent } from 'react';
import { DesiredOutcome, PickWithOptional } from '@parlor/common';
import { RenderAccountSelectorProps, RenderFolderSelectorProps } from '@parlor/components/select';
import { ServiceReturnType } from '@parlor/contexts/services-2';
type IAccount = RenderAccountSelectorProps & {
    successPlan?: {
        id: string;
    };
};
type FormValues = PickWithOptional<DesiredOutcome, 'completionType' | 'description' | 'icon' | 'markStalledAfterDays' | 'name' | 'startDate' | 'targetTime' | 'isTemplate' | 'targetTimeType'> & {
    account?: IAccount;
    folder?: RenderFolderSelectorProps;
    id?: string;
};
export type CreateDesiredOutcomeModalProps = {
    account?: IAccount;
    desiredOutcome?: FormValues;
    isTemplate?: boolean;
    onAfterSubmit?: (model: ServiceReturnType<'desiredOutcome', 'create' | 'update'>) => void;
    onClose?: (e?: BaseSyntheticEvent) => void;
    successPlanID?: string;
};
declare function CreateDesiredOutcomeModalInner({ successPlanID, desiredOutcome, account, isTemplate, onAfterSubmit, onClose, }: CreateDesiredOutcomeModalProps): JSX.Element;
export declare const CreateDesiredOutcomeModal: React.MemoExoticComponent<typeof CreateDesiredOutcomeModalInner>;
export {};
