import { ISerializable, Serializable } from "@js-soft/ts-serval"; import { IRequest, Request } from "@nmshd/content"; import { CoreAddress, CoreDate, CoreId, ICoreAddress, ICoreDate, ICoreId } from "@nmshd/core-types"; import { CoreSynchronizable, ICoreSynchronizable } from "@nmshd/transport"; import { LocalRequestStatus } from "./LocalRequestStatus"; import { ILocalRequestStatusLogEntry, LocalRequestStatusLogEntry } from "./LocalRequestStatusLogEntry"; import { ILocalResponse, LocalResponse } from "./LocalResponse"; export interface ILocalRequestSource extends ISerializable { type: "Message" | "RelationshipTemplate"; reference: ICoreId; } export declare class LocalRequestSource extends Serializable implements ILocalRequestSource { type: "Message" | "RelationshipTemplate"; reference: CoreId; static from(value: ILocalRequestSource): LocalRequestSource; } export interface ILocalRequest extends ICoreSynchronizable { isOwn: boolean; peer: ICoreAddress; createdAt: ICoreDate; content: IRequest; source?: ILocalRequestSource; response?: ILocalResponse; status: LocalRequestStatus; statusLog: ILocalRequestStatusLogEntry[]; wasAutomaticallyDecided?: true; } export declare class LocalRequest extends CoreSynchronizable implements ILocalRequest { readonly technicalProperties: string[]; readonly userdataProperties: string[]; isOwn: boolean; peer: CoreAddress; createdAt: CoreDate; content: Request; source?: LocalRequestSource; response?: LocalResponse; status: LocalRequestStatus; statusLog: LocalRequestStatusLogEntry[]; wasAutomaticallyDecided?: true; changeStatus(newStatus: LocalRequestStatus): void; sent(source: LocalRequestSource): void; static from(value: ILocalRequest): LocalRequest; isExpired(comparisonDate?: CoreDate): boolean; updateStatusBasedOnExpiration(comparisonDate?: CoreDate): boolean; updateExpirationDateBasedOnTemplateExpiration(templateExpiresAt: CoreDate): boolean; } //# sourceMappingURL=LocalRequest.d.ts.map