amis-rpc-design/node_modules/react-redux/es/utils/Subscription.d.ts
2023-10-07 19:42:30 +08:00

26 lines
815 B
TypeScript

declare type VoidFunc = () => void;
declare type Listener = {
callback: VoidFunc;
next: Listener | null;
prev: Listener | null;
};
declare function createListenerCollection(): {
clear(): void;
notify(): void;
get(): Listener[];
subscribe(callback: () => void): () => void;
};
declare type ListenerCollection = ReturnType<typeof createListenerCollection>;
export interface Subscription {
addNestedSub: (listener: VoidFunc) => VoidFunc;
notifyNestedSubs: VoidFunc;
handleChangeWrapper: VoidFunc;
isSubscribed: () => boolean;
onStateChange?: VoidFunc | null;
trySubscribe: VoidFunc;
tryUnsubscribe: VoidFunc;
getListeners: () => ListenerCollection;
}
export declare function createSubscription(store: any, parentSub?: Subscription): Subscription;
export {};