import { ModifiedField } from "./editContext";
declare class FieldModificationStore {
    private subscribers;
    private fieldData;
    private allSubscribers;
    private allFieldsSnapshot;
    private notifyAll;
    private notify;
    private getFieldKey;
    subscribe(fieldId: string, itemId: string, language: string, version: number, callback: (field: ModifiedField | undefined) => void): () => void;
    updateField(field: ModifiedField): void;
    removeField(fieldId: string, itemId: string, language: string, version: number): void;
    clear(): void;
    getAllFields(): ModifiedField[];
    updateFields(fields: ModifiedField[]): void;
    getField(fieldId: string, itemId: string, language: string, version: number): ModifiedField | undefined;
    clearDirtyState(fieldId: string, itemId: string, language: string, version: number): void;
    subscribeAll(callback: () => void): () => void;
}
declare const fieldModificationStore: FieldModificationStore;
export declare function useFieldModification(fieldId: string, itemId: string, language: string, version: number): {
    modifiedField: ModifiedField | undefined;
    isModified: boolean;
    isSaved: boolean;
};
export { fieldModificationStore };
