import { DefaulResponsePagination, DefaultRequestPagination } from '@/entities/common/model/types';

export interface SupportParams {
  mid?: string;
};
export interface FaqListParams {
  category: string;
  searchValue: string;
  page?: DefaultRequestPagination;
};
export interface FaqItem {
  sortNo?: string;
  seq?: string;
  category?: string;
  categoryName?: string;
  title?: string;
  contents?: string;
};
export interface FaqListResponse extends DefaulResponsePagination {
  content: Array<FaqItem>;
  hasNext: boolean;
  nextCursor: string | null;
};
export interface FaqItemProps extends FaqItem {
  
}
export interface QnaListParams extends SupportParams {
  page?: DefaultRequestPagination;
};
export interface QnaItem {
  sortNo?: string;
  seq?: string;
  statusCode?: string;
  statusName?: string;
  requestDate?: string;
  requestName?: string;
  title?: string;
  contents?: string;
  answer?: string;
};
export interface QnaListResponse extends DefaulResponsePagination {
  content: Array<QnaItem>
};
export interface QnaItemProps extends QnaItem {

};
export interface QnaSaveParams extends SupportParams {
  counselType: string;
  requestName: string;
  requestTel: string;
  requestEmail: string;
  title: string;
  contents: string;
};
export interface QnaSaveResponse {
  
};
export interface NoticeListParams extends SupportParams {
  searchKeyword: string;
  category: string;
  pagination?: DefaultRequestPagination;
};
export interface NoticeItem {
  id?: number;
  title?: string;
  content?: string;
  category?: string;
  regDate?: string;
  isNew?: boolean;
  viewCount?: number;
};
export interface NoticeListResponse {
  content: Array<NoticeItem>;
  nextCursor: string;
  hasNext: boolean;
};
export interface NoticeDetailParams {
  noticeId: number;
};
export interface NoticeDetailResponse extends NoticeItem {
  
};
export interface NoticeItemProps extends NoticeItem {

}