import { IStorageBase, StorageInitStatus } from '../../core';
export interface UseStorageOptions {
    /**
     * Автоматически инициализировать при монтировании (по умолчанию true)
     */
    autoInitialize?: boolean;
}
export type UseStorageReturn<S> = {
    storage: S;
    status: StorageInitStatus;
    initialize: () => Promise<void>;
    isReady: true;
    isLoading: false;
    hasError: false;
} | {
    storage: S;
    status: StorageInitStatus;
    initialize: () => Promise<void>;
    isReady: false;
    isLoading: boolean;
    hasError: boolean;
};
/**
 * Хук для управления lifecycle внешнего хранилища.
 *
 * В отличие от useCreateStorage, не создаёт и не уничтожает хранилище —
 * только инициализирует и отслеживает статус.
 *
 * Предназначен для хранилищ, созданных вне компонентов (на уровне модуля):
 * ```ts
 * // stores.ts
 * export const todoStorage = new IndexedDBStorage({ name: 'todos', ... })
 *
 * // Component.tsx
 * const { isReady } = useStorage(todoStorage)
 * ```
 */
export declare function useStorage<S extends IStorageBase<any>>(storage: S, options?: UseStorageOptions): UseStorageReturn<S>;
