import { ApolloCache } from 'apollo-cache'; export declare type LogLevel = 'log' | 'warn' | 'error'; export declare type LogLine = [LogLevel, any[]]; export declare type TriggerUninstallFunction = () => void; export declare type TriggerFunction = (persist: () => void) => TriggerUninstallFunction; export declare type PersistedData = T | string | null; export interface PersistentStorage { getItem: (key: string) => Promise | T; setItem: (key: string, data: T) => Promise | void; removeItem: (key: string) => Promise | void; } export interface ApolloPersistOptions { cache: ApolloCache; storage: PersistentStorage>; trigger?: 'write' | 'background' | TriggerFunction | false; debounce?: number; key?: string; serialize?: boolean; maxSize?: number | false; debug?: boolean; }