import { Module, PisellCore, ModuleOptions } from '../../types';
import { BaseModule } from '../BaseModule';
import type { ScheduleModule } from '../Schedule';
import type { OpenDataConfig, OpenDataFetchParams, OpenDataAvailabilityResult } from './types';
export * from './types';
export { computeAvailability } from './utils';
export declare class OpenDataModule extends BaseModule implements Module {
    protected defaultName: string;
    protected defaultVersion: string;
    private request;
    private window;
    private store;
    private cacheId;
    private openCache;
    private fatherModule;
    private otherParams;
    constructor(name?: string, version?: string);
    initialize(core: PisellCore, options: ModuleOptions): Promise<void>;
    fetchOpenData(params: OpenDataFetchParams): Promise<OpenDataConfig>;
    getOpenData(): OpenDataConfig | null;
    getLastFetchedAt(): number | null;
    checkAvailability(scheduleModule?: ScheduleModule): OpenDataAvailabilityResult;
    storeChange(): void;
}
