export interface Phase {
    activityCount: number;
    announcementFields: string[];
    announcementRecipients: string[];
    description: string;
    enableAnnouncement: boolean;
    fieldOptions: string[];
    fields: string[];
    followers: string[];
    included: boolean;
    isEndpoint: boolean;
    members: unknown;
    name: string;
    possibleNextPhase: string[];
    possibleNextPhaseSettings: {
        [key: string]: {
            text: string;
        };
    };
    primaryDateField: string;
    primaryNumericField: string;
    selectedFields: string[];
    _id: string;
    primaryUserField?: string;
    removed?: string;
    removedBy?: string;
    uid?: string;
    created?: string;
    webhooksEnabled?: boolean;
    webhookUrl?: string;
    webhookAdded?: boolean;
    webhookUpdated?: boolean;
    color?: string;
}
export declare type PhaseMap = {
    [phaseId: string]: Phase;
};
export declare type FunctionVariables = {
    [phaseId: string]: FunctionDependency[] | FunctionDependency;
};
export declare type FunctionDependency = {
    type: string;
    data: string[];
};
export declare type PhaseInfo = {
    name: string;
    id: string;
    linkedTo: string[];
};
export declare type Type = "text" | "numeric" | "textarea" | "textpredefinedoptions" | "textunit" | "numericunit" | "date" | "daterange" | "datetimerange" | "datetime" | "time" | "timerange" | "country" | "contacts" | "users" | "teams" | "activitylink" | "linkedfrom" | "subheader";
export declare type Group = "dataset" | "workflow" | "undefined";
export declare type FieldInfo = {
    name: string;
    type: Type;
    description?: string;
    placeholder: string;
    defaultValue?: any;
    required: boolean;
    id: string;
    data: string[];
    functionEnabled?: boolean;
};
export declare type Node = {
    id: string;
    name: string;
    group?: Group;
    phases: PhaseInfo[];
    transparent?: boolean;
    fields: FieldInfo[];
    functions?: {
        label: string;
        functionVariables: FunctionVariables;
        description: string | undefined;
        function: string | undefined;
    }[];
};
export declare type Link = {
    source: string;
    target: string;
    id: string;
};
export declare type Data = {
    name: string;
    nodes: Node[];
    links: Link[];
};
export declare type LegendProps = {
    data: Data;
    node: string;
    setNode: any;
};
export declare type InfoProps = {
    data: Data;
    node: string;
    setNode: any;
};
