import type { EmptySmartStorageSchema } from "@types";
export declare abstract class AConnector {
    readonly name: string;
    readonly allowsObjectStorage: boolean;
    constructor(name: string, allowsObjectStorage?: boolean);
    protected abstract rawGet(key: string): unknown | null;
    protected abstract rawSet(key: string, value: unknown): void;
    abstract remove(key: string): void;
    abstract clear(): void;
    parse<V extends object>(schema: EmptySmartStorageSchema, value: unknown): V;
    get<V extends object>(key: string, schema?: EmptySmartStorageSchema): V | null;
    set<V extends object>(key: string, value: V, schema?: EmptySmartStorageSchema): void;
    private readonly onChangeEvents;
    addOnChangeListener(callback: (key: string) => void): CallableFunction;
    private removeOnChangeListener;
    triggerOnChange(key: string): void;
}
//# sourceMappingURL=connector.abstract.d.ts.map