import { Driver } from './Driver' ; import { DRIVERS } from './DriverTypes' ; export interface IStorageSetConfig { secure ? : boolean ; maxAge ? : number ; domain ? : string ; path ? : string ; expires ? : Date | string ; } export interface IStorage { length : number ; getItem ( key ) : any ; setItem ( key , data , config ? ) : void ; removeItem ( key ) : void ; clear ( ) : void ; key ( index ) : string ; } export interface IWebStorage extends IStorage { hasOwnProperty ( key ) : boolean ; } export interface ICustomStorage extends IStorage { hasItem ( key ) : boolean ; } export interface ILockerConfig { driverNamespace ? : string ; driverFallback ? : DRIVERS | DRIVERS [ ] ; namespaceSeparator ? : string ; } export interface IExpiryData { config ? : IStorageSetConfig ; data : any ; } export interface IDriverType { storage : Driver ; type : string ; }