import { NgHttpCachingNgSimpleState, NgHttpCachingStorageInterface, NgHttpCachingEntry, NgHttpCachingNgSimpleStateAdapterConfig, NgHttpCachingNgSimpleStateSentinel } from 'ng-http-caching';
import { NgSimpleStateBaseSignalStore, NgSimpleStateStoreConfig } from 'ng-simple-state';
import * as i0 from '@angular/core';

/**
 * Storage adapter for ng-http-caching backed by ng-simple-state.
 *
 * This allows a single source of truth for HTTP cache entries.
 */
declare class NgHttpCachingNgSimpleStateAdapter extends NgSimpleStateBaseSignalStore<NgHttpCachingNgSimpleState> implements NgHttpCachingStorageInterface {
    protected storeConfig(): NgSimpleStateStoreConfig;
    protected initialState(): NgHttpCachingNgSimpleState<unknown, unknown>;
    get size(): number;
    clear(): void;
    delete(key: string): boolean;
    forEach<K = unknown, T = unknown>(callbackfn: (value: NgHttpCachingEntry<K, T>, key: string) => void): void;
    get<K = unknown, T = unknown>(key: string): Readonly<NgHttpCachingEntry<K, T>> | undefined;
    has(key: string): boolean;
    set<K = unknown, T = unknown>(key: string, value: NgHttpCachingEntry<K, T>): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgHttpCachingNgSimpleStateAdapter, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NgHttpCachingNgSimpleStateAdapter>;
}
/**
 * Factory helper to enable the ng-simple-state adapter for ng-http-caching.
 */
declare function withNgHttpCachingNgSimpleState(config?: NgHttpCachingNgSimpleStateAdapterConfig): NgHttpCachingNgSimpleStateSentinel;

export { NgHttpCachingNgSimpleStateAdapter, withNgHttpCachingNgSimpleState };
