interface ProgramCategoryIds {
    responsibility_ids: number[];
    category_id: number[];
    parent_id: number;
}
interface RiskCategoryIds {
    risk_ids: number[];
    category_id: number[];
}
export interface AddGrc {
    name: string;
    type: 0 | 1 | 2 | 3;
    state: number;
    parent_grc_ids: number[];
    owners: number[];
    email_notification_member_ids: number[];
    description: string;
    frequency: string;
    attributes: AttributesDetails[];
    rc_ids: string[];
    program_category_ids: ProgramCategoryIds[];
    risk_category_ids: RiskCategoryIds[];
    linked_GRC_ids: string[];
}
export interface InputType {
    name: 'NAME';
    owner: 'OWNER';
    RC: 'RC';
    riskCategory: 'RISK_CATEGORY';
    otherGrcObjects: 'OTHER_GRC_OBJECTS';
    programResponsibility: 'PROGRAM_RESPONSIBILITY';
}
export interface ListObject {
    RC: ListObjectData;
    OWNER: ListObjectData;
    OTHER_GRC_OBJECTS: ListObjectData;
    RISK_CATEGORY: ListObjectData;
    PROGRAM_RESPONSIBILITY: ListObjectData;
}
interface ListObjectData {
    isLoading: boolean;
    data: any;
    selectedData: Array<any>;
    disabledIds?: Array<number>;
}
export interface GRCType {
    _id: string;
    label: string;
    attributes: AttributesDetails[];
    description?: string;
    value: number;
}
export interface RCList {
    _id: string;
    rc_id: number;
    rc_name: string[];
    parent_rc_ids: string[];
    visibilty: number;
    map_data: string;
    description: string;
    owner: any[];
    owner_details: {
        member_id: number;
        member_name: string;
        m_short_name: string;
        member_email: string;
        profile_pic: string;
    }[];
    parent_owners: number[];
    edit_allow: number;
    delete_allow: number;
    delete_allow1: number;
    item_name: string;
    p_item_name: string;
    item_id: number;
    group_ids: number[];
    item_parent_ids: string[];
    item_child_ids: number[];
    creatorDetails: {
        _id: string;
        profile_pic: string;
        member_name: string;
        member_email: string;
        member_id: number;
    };
}
export interface ViewSelectedData {
    name: string;
    id: number;
    type: 'STRING' | 'ARRAY';
}
export interface OpenedPopup {
    type: '' | 'RC' | 'RISK' | 'NAME' | 'RISK_CATEGORY' | 'OWNER' | 'OTHER_GRC_OBJECTS' | 'ATTRIBUTES' | 'PROGRAM_RESPONSIBILITY';
}
export interface DatePickerConfig {
    disableKeypress: boolean;
    format: string;
    unSelectOnClick: boolean;
    openOnClick: boolean;
    openOnFocus: boolean;
    min?: string;
}
export interface Attributes {
    name: string;
    description: string;
    value: number;
    attributes: Array<AttributesDetails>;
}
export interface AttributesDetails {
    type: string;
    name: string;
    page?: number;
    isRequired: boolean;
    title: string;
    hasDescription: boolean;
    description: string;
    hasComments: boolean;
    comments: string;
    hasOther: boolean;
    otherValue: string;
    choices: Choice[];
    hasValidation?: boolean;
    validationType?: string;
    hasCharacterLength?: boolean;
    minCharacterLength?: number;
    maxCharacterLength?: number;
    alignment?: boolean;
    isPlaceholder?: boolean;
    placeholder?: string;
    is_other_selected?: boolean;
}
export interface Choice {
    title: string;
    value: string | number;
    is_selected: boolean;
    required?: number;
    hasHelpingLabel?: boolean;
    helpingLabel?: string;
}
export interface Button {
    buttonText: string;
    class: string;
    id: string;
}
export {};
