import { ITicketAuditedEntity } from './Common'; export declare enum TicketLayoutViewType { CREATE = "CREATE", EDIT = "EDIT", DETAIL = "DETAIL", TABLE = "TABLE", KANBAN_CARD = "KANBAN_CARD", CARD = "CARD", FILTER = "FILTER", PORTAL_CREATE = "PORTAL_CREATE", PORTAL_DETAIL = "PORTAL_DETAIL" } export declare enum TicketLayoutVisibility { ALWAYS = "ALWAYS", CREATE_ONLY = "CREATE_ONLY", EDIT_ONLY = "EDIT_ONLY", READ_ONLY = "READ_ONLY" } export interface ITicketLayoutField { fieldNameKey: string; order: number; column: number; width: number; visible: boolean; visibility?: TicketLayoutVisibility; labelOverride?: string; placeholderOverride?: string; } export interface ITicketLayoutSection { id: string; title?: string; description?: string; order: number; columns?: number; collapsible?: boolean; collapsedByDefault?: boolean; fields: ITicketLayoutField[]; } export interface ITicketLayoutSectionDTO extends Omit { } /** Controls presentation only; validation remains authoritative in ITicketFieldDefinition. */ export interface ITicketLayout extends ITicketAuditedEntity { name: string; description?: string; viewType: TicketLayoutViewType; isDefault: boolean; categoryIds?: string[]; requestTypeIds?: string[]; roleIds?: string[]; sections: ITicketLayoutSection[]; enabled: boolean; } export interface ICreateTicketLayoutDto { name: string; description?: string; viewType: TicketLayoutViewType; isDefault?: boolean; categoryIds?: string[]; requestTypeIds?: string[]; roleIds?: string[]; sections: ITicketLayoutSectionDTO[]; } export interface IUpdateTicketLayoutDto extends Partial { enabled?: boolean; }