import { InjectionToken, Provider } from '#di'; import { ExtensionType, ExtensionProvider, Extension } from '#types/extension-types.js'; export declare class ExtensionObj { exportedOnly?: boolean; exports: any[]; providers: ExtensionProvider[]; } export interface ExtensionOptionsBase { extension: ExtensionType; /** * Extension group token. */ token: InjectionToken; /** * The token of the group before which this extension will be called. Use this option * only if the extension group you place here does not expect your extension group to work. */ nextToken?: InjectionToken; overrideExtension?: never; } export interface ExtensionOptions1 extends ExtensionOptionsBase { /** * Indicates whether this extension needs to be exported. */ exported?: boolean; exportedOnly?: never; } export interface ExtensionOptions2 extends ExtensionOptionsBase { exported?: never; /** * Indicates whether this extension needs to be exported without working in host module. */ exportedOnly?: boolean; } export interface ExtensionOptions3 { extension: ExtensionType; overrideExtension: ExtensionType; } export type ExtensionOptions = ExtensionOptions1 | ExtensionOptions2 | ExtensionOptions3; export declare function isOptionWithOverrideExtension(extensionOptions: ExtensionOptions): extensionOptions is ExtensionOptions3; export declare function getExtensionProvider(extensionOptions: ExtensionOptions): ExtensionObj; export declare function getExtensionProviderList(extensionOptions: ExtensionOptions[]): Provider[]; //# sourceMappingURL=get-extension-provider.d.ts.map