import * as IShared from '../../../shared/interface'; import { ExternalDocumentHeader } from '../../../shared/entities/stock'; export type Entity = ExternalDocumentHeader; export declare const Route = "external_document_header"; export declare const UpperName = "ExternalDocumentHeader"; export declare const LowerName: string; export interface IFindByOwnerIdItem { external_document_header_id: string | null; document_header_id: string; label: string; emission_date: Date; external_id: string | null; pdf_link: string | null; is_void: boolean; created_by: string; can_have_no_pdf: boolean; can_retry: boolean; } export interface IFindByOwnerIdItemWithVersions extends IFindByOwnerIdItem { older_versions: Pick[]; } export interface ICreateRequest { document_header_id: string; external_id: string; external_pdf_link: string; pdf_link: string; } export interface IAttachment { filename: string; multimedia_id: string; } export interface ISendEmailDocumentRequest { template: IShared.IUserSendEmailDocumentTemplate; start_document_header_id: string; attachments: IAttachment[]; user: { name: string; email: string; }; } export interface IRepository { findById(selector: IShared.IFindByIdRequest): Promise; findByOwnerId(params: IShared.IFindByOwnerIdRequest): Promise; sendEmailDocument: (data: ISendEmailDocumentRequest) => Promise; retry(selector: IShared.IFindByIdRequest): Promise; create(data: ICreateRequest): Promise; } export type IController = IShared.IEntityWithUserToken;