import { IListResponse } from "./base.response";
import { IMetadata } from "./dashboard.response";
import { Institution, IProperty } from "./property.response";
import { IUser } from "./user.response";
export interface INotificationsResponse {
    data: (INotificationRent | INotificationContract | INotificationPayment | INotificationTransfer | INotificationBuild)[];
}
export interface INotificationRent {
    tenant: INotificationRentTenant;
    property: INotificationRentProperty;
    contract: INotificationRentContract;
}
export interface INotificationRentContract {
    id: string;
    paidDate: string;
    rentPrice: number;
}
export interface INotificationRentProperty {
    id: string;
    title: string;
}
export interface INotificationRentTenant {
    id: string;
    name: string;
}
export interface INotificationContract {
    id: string;
    propertyId: string;
    tenantId: string;
    startDate: string;
    endDate: string;
    rentPeriod: number;
    paidDay: number;
    rentPrice: string;
    isCurrent: boolean;
    createdAt: string;
    updatedAt: string;
    User: IUser;
    Property: INotificationProperty;
}
export interface INotificationPayment {
    id: string;
    propertyId: string;
    userId: string;
    amount: string;
    type: string;
    status: string;
    reqAt: string;
    paidAt: null;
    referanceId: null;
    isActive: boolean;
    createdAt: string;
    updatedAt: string;
    user: IUser;
    property: INotificationProperty;
}
export interface INotificationTransfer {
    id: string;
    referance: string;
    description: string;
    amount: string;
    senderIdentityNumber: string;
    date: string;
    isUsed: boolean;
    logs: string;
    createdAt: string;
    updatedAt: string;
}
export interface INotificationProperty {
    id: string;
    title: string;
    address: string;
    city: string;
    district: string;
    neighborhood: string;
    isRented: boolean;
    propertyNumber: string;
    serviceFeeRate: string;
    buildingManagerId: string;
    consultantId: string;
    metadata: IMetadata;
    isActive: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface IDashboardAnnouncementResponse extends Array<IAnnouncement> {
}
export interface IAnnouncementResponse extends IListResponse {
    announcements: Array<IAnnouncement>;
}
export interface IAnnouncement {
    id: string;
    title: string;
    description: string;
    startDate: string;
    endDate: string;
    type: string;
    isActive: boolean;
    createdAt: string;
    updatedAt: string;
}
export interface INotificationBuild {
    id: string;
    propertyId: string;
    propertyTenantId: string;
    institutionId: string;
    paytoTransfer: boolean;
    typeId: string;
    amount: string;
    description: string;
    paidAt: string;
    receiptImageId: string;
    isActive: boolean;
    createdAt: string;
    updatedAt: string;
    Institution: Institution;
    Property: IProperty;
    PropertyTenant: IUser;
}
