import { ComputedRef, Ref, ToRef, ToRefs, UnwrapRef, EffectScope } from "@vue/reactivity"; export interface Pinia { install: Function; scope: EffectScope; stores: Record; state: Ref; } export type _Method = (...args: any[]) => any; export type _UnwrapAll = { [K in keyof SS]: UnwrapRef; }; export type _StoreWithGetters = { readonly [k in keyof G]: UnwrapRef; }; export type StateTree = Record; export type Store = UnwrapRef & _StoreWithGetters & A & { $id: Id; }; interface StoreDefinition { (pinia?: Pinia | undefined): Store; } export type _ExtractStateFromSetupStore_Keys = keyof { [K in keyof SS as SS[K] extends _Method | ComputedRef ? never : K]: any; }; export type _ExtractStateFromSetupStore = SS extends undefined | void ? {} : _UnwrapAll>>; export type _ExtractGettersFromSetupStore_Keys = keyof { [K in keyof SS as SS[K] extends ComputedRef ? K : never]: any; }; export type _ExtractGettersFromSetupStore = SS extends undefined | void ? {} : Pick>; export type _ExtractActionsFromSetupStore_Keys = keyof { [K in keyof SS as SS[K] extends _Method ? K : never]: any; }; export type _ExtractActionsFromSetupStore = SS extends undefined | void ? {} : Pick>; type ToComputedRefs = { [K in keyof T]: ToRef extends Ref ? ComputedRef : ToRef; }; export type StoreToRefs = ToRefs<_ExtractStateFromSetupStore> & ToComputedRefs<_ExtractGettersFromSetupStore>; export declare let activePinia: Pinia | undefined; export declare function setActivatePinia(p: Pinia): void; export declare function createPinia(): Pinia; export declare function defineStore(id: Id, storeSetup: () => SS, options?: { persist: string[]; }): StoreDefinition, _ExtractGettersFromSetupStore, _ExtractActionsFromSetupStore>; export declare function storeToRefs(store: SS): StoreToRefs; export {};