import { Actor, CustomFieldId, CustomFieldEntityId, CustomScenarioFieldType, EventOfficialScenarioFieldType, RoleId, ScenarioFieldId, ScenarioFieldType, TaskOfficialScenarioFieldType, TestcaseOfficialScenarioFieldType, MemberIdentityId, BasicScenarioFieldType } from 'teambition-types'; import { CustomFieldSchema } from './CustomField'; import { CustomFieldEntitySchema } from './CustomFieldEntity'; export interface ScenarioFieldSchema { _id: ScenarioFieldId; fieldType: T; _roleIds?: RoleId[]; allowedActors: Actor[]; allowedRoleIds: RoleId[] | null; allowedMemberIdentityIds: MemberIdentityId[]; displayed: boolean; required: boolean; } export interface NoteScenarioFieldSchema extends ScenarioFieldSchema { fieldType: 'note'; default: string; } export declare type BasicScenarioFieldSchema = ScenarioFieldSchema; export interface CustomScenarioFieldSchema extends ScenarioFieldSchema { _customfieldId: CustomFieldId; _customfieldentityId?: CustomFieldEntityId; customfield?: CustomFieldSchema | null; customfieldentity?: CustomFieldEntitySchema; default?: string | string[]; placeholder?: string; } export interface ApplicationScenarioFieldSchema extends CustomScenarioFieldSchema { setting: { exportable: boolean; displayable: boolean; filterable: boolean; }; } export declare type TaskScenarioFieldSchema = CustomScenarioFieldSchema | NoteScenarioFieldSchema | ScenarioFieldSchema; export declare type EventScenarioFieldSchema = CustomScenarioFieldSchema | NoteScenarioFieldSchema | ScenarioFieldSchema; export declare type TestcaseScenarioFieldSchema = CustomScenarioFieldSchema | ScenarioFieldSchema;