29 lines
		
	
	
		
			651 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
		
			651 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
export declare class Entry<T> {
 | 
						|
    value: T;
 | 
						|
    key: string | number;
 | 
						|
    next: Entry<T>;
 | 
						|
    prev: Entry<T>;
 | 
						|
    constructor(val: T);
 | 
						|
}
 | 
						|
export declare class LinkedList<T> {
 | 
						|
    head: Entry<T>;
 | 
						|
    tail: Entry<T>;
 | 
						|
    private _len;
 | 
						|
    insert(val: T): Entry<T>;
 | 
						|
    insertEntry(entry: Entry<T>): void;
 | 
						|
    remove(entry: Entry<T>): void;
 | 
						|
    len(): number;
 | 
						|
    clear(): void;
 | 
						|
}
 | 
						|
export default class LRU<T> {
 | 
						|
    private _list;
 | 
						|
    private _maxSize;
 | 
						|
    private _lastRemovedEntry;
 | 
						|
    private _map;
 | 
						|
    constructor(maxSize: number);
 | 
						|
    put(key: string | number, value: T): T;
 | 
						|
    get(key: string | number): T;
 | 
						|
    clear(): void;
 | 
						|
    len(): number;
 | 
						|
}
 |