bootstrap-vue-next
Version:
Seamless integration of Vue 3, Bootstrap 5, and TypeScript for modern, type-safe UI development
30 lines (29 loc) • 1.52 kB
text/typescript
import { Ref } from 'vue';
import { ControllerKey, PromiseWithController } from '../../types';
import { OrchestratorStoreObject } from '../../utils/keys';
export type ValueInMapRecord<MapRecord> = MapRecord extends Map<any, infer I> ? I : never;
export declare const buildController: <TComponent, TStore extends Readonly<Ref<OrchestratorStoreObject[keyof OrchestratorStoreObject]>>>(id: ControllerKey, store: TStore) => PromiseWithController<TComponent, ValueInMapRecord<TStore["value"]>>;
export declare const _newOrchestratorRegistry: () => {
store: Readonly<Ref<OrchestratorStoreObject>>;
_isToastAppend: Readonly<Ref<boolean>>;
_setToastAppend: (value: boolean) => void;
_isOrchestratorInstalled: Readonly<Ref<boolean>>;
_setOrchestratorInstalled: (value: boolean) => void;
};
export declare const useOrchestratorRegistry: () => {
store: Readonly<Ref<OrchestratorStoreObject>>;
_isToastAppend: Readonly<Ref<boolean>>;
_setToastAppend: (value: boolean) => void;
_isOrchestratorInstalled: Readonly<Ref<boolean>>;
_setOrchestratorInstalled: (value: boolean) => void;
};
export declare const getOrchestratorControllerId: (propId: string | undefined) => {
/**
* This id is used for stability in the store, using the createIdWatcher will update the store if the id ever changes
*/
storeId: ControllerKey;
/**
* Do not pass in the symbol as a prop. Html attribute cannot be a symbol. Thus it's internal
*/
htmlAttributeId: string | undefined;
};