/** * Persist Options * @param key - The key to use for the local storage * @param debounce * - Debounce state changes by this amount of time. Default is 0, which means no debouncing. * @description * This is the options object for the @Persist and @Persisted decorator. * @example * ``` * { * debounce: 200, * } * ``` */ export interface PersistOptions { key?: string; debounce?: number; } /** * Persist Decorator * @param options - The options for the @Persist decorator * @description * This decorator is used to persist a variable state to local storage. * @example * ``` * @Persist({ debounce: 200 }) * state = new State({ ... }); * ``` */ export declare function Persist(options?: PersistOptions): (target: any, propertyKey: string) => void; /** * Persisted Decorator * * @param options - The options for the @Persisted decorator * @description * This decorator is used to persist a injectable state to local storage */ export declare function Persisted(options?: PersistOptions): {}>(constructor: T) => void;