@hadyfayed/filament-react-wrapper
Version:
Enterprise React integration for Laravel/Filament - Smart asset loading, 90%+ React-PHP function mapping, no-plugin Filament integration
48 lines • 2.23 kB
TypeScript
import { IStateManager, IStateManagerState, IStateValidator, IStatePersistence } from '../interfaces/IStateManager';
export declare abstract class BaseStateManager implements IStateManager {
protected state: IStateManagerState;
protected subscribers: Map<string, Set<(value: unknown) => void>>;
abstract setState(path: string, value: unknown): void;
abstract updateState(path: string, updater: (current: unknown) => unknown): void;
abstract getState(path: string): unknown;
abstract resetState(newState?: IStateManagerState): void;
abstract batchUpdate(updates: Array<{
path: string;
value: unknown;
}>): void;
subscribe(path: string, callback: (value: unknown) => void): () => void;
protected getNestedValue<T = unknown>(obj: Record<string, unknown>, path: string): T | undefined;
protected setNestedValue(obj: Record<string, unknown>, path: string, value: unknown): Record<string, unknown>;
protected notifySubscribers(path: string, value: any): void;
}
export declare class StandardStateManager extends BaseStateManager {
setState(path: string, value: any): void;
updateState(path: string, updater: (current: any) => any): void;
getState(path: string): any;
resetState(newState?: IStateManagerState): void;
batchUpdate(updates: Array<{
path: string;
value: any;
}>): void;
}
export declare class ValidatedStateManager extends StandardStateManager {
private validator?;
constructor(validator?: IStateValidator | undefined);
setState(path: string, value: any): void;
updateState(path: string, updater: (current: any) => any): void;
}
export declare class PersistentStateManager extends StandardStateManager {
private persistence;
private persistenceKey;
constructor(persistence: IStatePersistence, persistenceKey?: string);
setState(path: string, value: any): Promise<void>;
resetState(newState?: IStateManagerState): Promise<void>;
batchUpdate(updates: Array<{
path: string;
value: any;
}>): Promise<void>;
private loadFromPersistence;
private saveToPersistence;
clearPersistence(): Promise<void>;
}
//# sourceMappingURL=StateManagerService.d.ts.map