interface AddDeliverableResult {
    deliverable_id: string;
    id: string;
    project_id: string;
}
interface CreateProjectResult {
    project_id: string;
}
interface GetDeliverableResult {
    _links: {
        download?: string;
        project: string;
        self: string;
    };
    deliverable_id: string;
    deliverable_manager: WorkflowUser;
    description?: string;
    due_date: Date;
    expanded: {
        download_link: boolean;
        file_properties: boolean;
        proof_url: boolean;
    };
    file_properties?: {
        file_type: string;
        filename: string;
        sizes_in_bytes: number;
    };
    id: string;
    name: string;
    proof_provider: WorkflowUser;
    proof_url?: string;
    status: string;
    thumbnails?: {
        large: string;
        medium: string;
        small: string;
    };
}
interface GetProjectResult {
    _links: {
        deliverables: string;
        self: string;
        support_files: string;
    };
    deliverables: {
        due_date: Date;
        id: string;
        name: string;
        status: string;
    }[];
    description: string;
    due_date: Date;
    expanded: {
        request_fields: boolean;
    };
    id: string;
    name: string;
    project_id: string;
    project_manager: WorkflowUser;
    start_date: Date;
}
interface ListDeliverablesResult {
    items: GetDeliverableResult[];
}
interface UploadProofResult {
    deliverable_id: string;
    id: string;
    project_id: string;
    status: string;
    thumbnails: {
        large: string;
        medium: string;
        small: string;
    };
}
interface SupportingFile {
    _links: {
        download: string;
        project: string;
        self: string;
    };
    format_type: string;
    id: string;
    name: string;
    size_in_bytes: number;
    upload_date: Date;
    uploader: WorkflowUser;
}
interface WorkflowUser {
    email_address: string;
    first_name: string;
    last_name: string;
}
type GetSupportingFilesResult = SupportingFile[];

export type { AddDeliverableResult, CreateProjectResult, GetDeliverableResult, GetProjectResult, GetSupportingFilesResult, ListDeliverablesResult, SupportingFile, UploadProofResult, WorkflowUser };
