import { CommentAccessMode } from "../../utils/enums";
import { CommentAnnotation } from "./comment-annotation.data.model";
import { UnreadCommentsMap } from "./comment-utils.data.model";
import { CustomFilters } from "./custom-filter.data.model";
import { Location } from "./location.model";
declare class FilterOption {
    id: string;
    name: string;
}
declare class FilterTypeConfig {
    name?: string;
    enable?: boolean;
    multiSelection?: boolean;
    enableGrouping?: boolean;
    order?: string[];
    placeholder?: string;
    id?: string;
    type?: 'custom' | 'system';
    options?: FilterOption[];
}
export declare class CommentSidebarFilterConfig {
    location?: FilterTypeConfig;
    document?: FilterTypeConfig;
    people?: FilterTypeConfig;
    assigned?: FilterTypeConfig;
    tagged?: FilterTypeConfig;
    involved?: FilterTypeConfig;
    priority?: FilterTypeConfig;
    status?: FilterTypeConfig;
    category?: FilterTypeConfig;
    commentType?: FilterTypeConfig;
    version?: FilterTypeConfig;
    [key: string]: FilterTypeConfig | undefined;
}
export declare class CommentSidebarGroupConfig {
    enable?: boolean;
    name?: string;
}
export declare class CommentSidebarFilters {
    location?: Location[];
    document?: {
        id?: string;
        documentName?: string;
    }[];
    people?: {
        userId?: string;
        email?: string;
        name?: string;
    }[];
    assigned?: {
        userId?: string;
        email?: string;
        name?: string;
    }[];
    tagged?: {
        userId?: string;
        email?: string;
        name?: string;
    }[];
    involved?: {
        userId?: string;
        email?: string;
        name?: string;
    }[];
    priority?: string[];
    status?: string[];
    category?: string[];
    accessModes?: CommentAccessMode[];
    version?: {
        id: string;
        name?: string;
    }[];
    [key: string]: {
        id?: string;
        name?: string;
    }[] | string[] | undefined;
}
export interface CommentSidebarCustomActionsState {
    [key: string]: boolean;
}
export interface CommentSidebarCustomActionEventData {
    actions: CommentSidebarCustomActionsState;
    data: CommentAnnotation[];
    unreadDataMap: UnreadCommentsMap;
    systemFilteredData: CommentAnnotation[];
    customFilters: CustomFilters;
}
export declare class CommentSidebarData {
    groupId?: string;
    groupName?: string;
    isExpanded?: boolean;
    annotations: CommentAnnotation[];
}
export declare class CommentSidebarDataOptions {
    grouping?: boolean;
}
export {};
