/**
 * api_app_runtime.APIGetAppIntegratePointDraftWithDescriptionInfoResponse (partial)
 */
export interface APIGetAppIntegratePointDraftWithDescriptionInfoResponse {
    /** api_app_common.AppDescriptionBasicInfo (not expanded here) */
    plugin_info?: unknown;
    /** map<string, api_app_common.AppIntegratePointInfo> */
    point_info_map?: PointInfoMap;
    /** map<string, string> */
    plugin_extension?: Record<string, string>;
}
/**
 * APIGetAppIntegratePointDraftWithDescriptionInfoResponse.PointInfoMap
 * Thrift: map<string, api_app_common.AppIntegratePointInfo>
 */
export type PointInfoMap = Record<string, AppIntegratePointInfo>;
export interface IntegratePointStringConfig {
    label?: string;
    value?: string;
}
export interface IntegratePointIntConfig {
    label?: string;
    value?: number;
    children?: IntegratePointIntConfig[];
}
export interface AppIntegratePointConfigI18NInfo {
    name: string;
    description: string;
}
export interface Extension {
    ext_type?: string;
    ext_subType?: string;
    ext_key?: string;
    /** Thrift: optional string ExtConfig (api.map="ext_config") */
    ext_config?: Record<string, unknown>;
}
export interface AppIntegratePointAutomationActionConfig {
    key?: string;
    name?: string;
    token?: string;
    url?: string;
    trigger_type?: number[];
}
export interface AppIntegratePointInterceptEventConfig {
    work_item_type?: string[];
    event_type?: number[];
    custom_work_item_type?: string[];
}
export interface AppIntegratePointResourceInfo {
    type?: string;
    resource?: string;
    scene?: number[];
    scene_info_list?: IntegratePointIntConfig[];
}
export interface AppIntegratePointInfo {
    key?: string;
    name?: string;
    description?: string;
    icon?: string;
    work_item_type?: string[];
    /** Deprecated / legacy fields: Scene vs Scenes */
    scene?: number[];
    scenes?: number[];
    type?: string;
    token?: string;
    url?: string;
    event_config?: AppIntegratePointInterceptEventConfig[];
    action?: AppIntegratePointAutomationActionConfig[];
    /** map<string, AppIntegratePointResourceInfo> */
    platform?: Record<string, AppIntegratePointResourceInfo>;
    custom_work_item_type?: string[];
    extension?: Extension[];
    /** map<string, AppIntegratePointConfigI18NInfo> */
    i18n_info?: Record<string, AppIntegratePointConfigI18NInfo>;
    component_type?: string;
    scene_info_list?: IntegratePointIntConfig[];
    /** 仅 ai_field 点位会用：输出字段类型 key 列表。对齐 IDL `AppIntegratePointInfo.FieldTypes` */
    field_types?: string[];
}
