12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { Category } from "./enums";
- interface Author extends Person {
- numBooksPublished: number;
- }
- interface Book {
- author: string,
- available: boolean,
- category: Category;
- id: number,
- markDamaged?: DamageLogger,
- pages?: number,
- title: string,
- }
- interface DamageLogger {
- (reason: string): void;
- }
- interface Inventory<T> {
- addItem: (newItem: T) => void;
- getAllItems: () => Array<T>;
- getNewestItem: () => T;
- }
- interface Librarian extends Person {
- assistCustomer: (custName: string) => void,
- department: string,
- }
- interface Magazine {
- publisher: string;
- title: string;
- }
- interface Person {
- email: string;
- name: string;
- }
- export {
- Author,
- Book,
- DamageLogger as Logger,
- Inventory,
- Librarian,
- Magazine,
- }
|