/* eslint-disable @typescript-eslint/no-explicit-any */ declare module 'cdeops' { export interface Unsubscribable { unsubscribe(): void; } /** Support types for {@link Subscribable}. */ interface NextObserver { closed?: boolean; next: (value: T) => void; error?: (err: any) => void; complete?: () => void; } interface ErrorObserver { closed?: boolean; next?: (value: T) => void; error: (err: any) => void; complete?: () => void; } interface CompletionObserver { closed?: boolean; next?: (value: T) => void; error?: (err: any) => void; complete: () => void; } type PartialObserver = NextObserver | ErrorObserver | CompletionObserver; /** * A stream of values that may be subscribed to. */ export interface Subscribable { /** * Subscribes to the stream of values. * * @returns An unsubscribable that, when its {@link Unsubscribable#unsubscribe} method is called, causes * the subscription to stop reacting to the stream. */ subscribe(observer?: PartialObserver): Unsubscribable; /** @deprecated Use an observer instead of a complete callback */ subscribe(next: null | undefined, error: null | undefined, complete: () => void): Unsubscribable; /** @deprecated Use an observer instead of an error callback */ subscribe(next: null | undefined, error: (error: any) => void, complete?: (() => void) | null): Unsubscribable; /** @deprecated Use an observer instead of a complete callback */ subscribe(next: (value: T) => void, error: null | undefined, complete: () => void): Unsubscribable; subscribe( next?: ((value: T) => void) | null, error?: ((error: any) => void) | null, complete?: (() => void) | null, ): Unsubscribable; } // /** // * A provider result represents the values that a provider, such as the {@link HoverProvider}, may return. The // * result may be a single value, a Promise that resolves to a single value, or a Subscribable that emits zero // * or more values. // */ // export type ProviderResult = }