import BaseModule from '../../common/Module';
import { CmdEnum, CmdMap, EventMap } from '../../protocol/static';
import { ModuleName } from '../../types/protocol';
import { RawStaticItem } from './item/impl';
export { staticUpdate } from './staticUpdate';
export { RawStaticItem };
export { JSSDKItem, JSSDKDefault } from './item/sdk';
export { TemplateItem, TemplateDefault } from './item/template';
type ExcludeStorageKey = 'getMeta' | 'finish';
export type StaticStorageItem<T extends RawStaticItem = RawStaticItem> = Omit<T, ExcludeStorageKey>;
export default abstract class StaticModule extends BaseModule<ModuleName.static, EventMap> implements CmdMap {
    private globalPath;
    private staticPath;
    private staticStorage;
    private lockPool;
    constructor();
    created(): void;
    [CmdEnum.AddItem](item: RawStaticItem): Promise<void>;
    [CmdEnum.GetItem]<K extends keyof StaticStorageItem>(filterCondition: (item: Pick<StaticStorageItem, K>) => boolean, filterCount?: number): Promise<StaticStorageItem[]>;
    [CmdEnum.GetStaticPath](): string;
    [CmdEnum.RemoveItem](item: RawStaticItem): void;
    private init;
    private update;
    protected backupToDisk: (() => unknown) & {
        cancel: () => void;
        flush: () => void;
    };
}
