import { History, Notification, SegmentMember } from '@parlor/common/amplify-schema';
import { ModelWithId } from '../select/exported-compositions/utils';
export declare enum Models {
    account = "account",
    artifact = "artifact",
    need = "need",
    note = "note",
    notification = "notification",
    segment = "segment",
    task = "task",
    topic = "topic"
}
export declare namespace ITimelineActivity {
    type WithChangeMaker<T> = T & {
        changeMaker?: any;
    };
    type WithTableType<T, K extends string> = T & {
        tableType: K;
    };
    type SegmentMemberModel = WithChangeMaker<WithTableType<SegmentMember, 'segment_member'>>;
    type HistoryModel = WithTableType<History, 'history'>;
    type Model = Partial<History | SegmentMemberModel | HistoryModel>;
    type ActivitySegmentMemberProps = ActivityProps<SegmentMemberModel>;
    type ActivityNotificationProps = ActivityProps<Notification>;
    type ActivityProps<T = History> = {
        actions?: Partial<Actions>;
        history: T;
        isFromNotification?: boolean;
        isFullWidth?: boolean;
        isOpenByDefault?: boolean;
        seen?: boolean;
    };
    type Actions = Partial<{
        onClickAccount: (model: ModelWithId) => void;
        onClickArtifact: (model: ModelWithId) => void;
        onClickNeed: (model: ModelWithId) => void;
        onClickNote: (model: ModelWithId) => void;
        onClickTask: (model: ModelWithId) => void;
        onClickTopic: (model: ModelWithId) => void;
        onClickUser: (model: ModelWithId) => void;
    }>;
    type TimelineActivityProps = {
        actions?: Actions;
        history: Model;
        isFromNotification?: boolean;
        isFullWidth?: boolean;
        seen?: boolean;
    };
}
