import type React from 'react'; import type { OverrideRegistry } from './override.registry'; /** * This queues OverrideComponent registration until the registries are ready. */ export declare class RegistrationQueue { private queue; private overrideRegistry; setRegistries(overrideRegistry: OverrideRegistry): void; register(component: React.ComponentType, key: string, cloudProvider?: string): void; private flush; } export declare const overrideRegistrationQueue: RegistrationQueue; /** * Registers a component as a replacement for some other component. * * This is a Class Decorator which should be applied to a React Component Class. * The component class will be used instead of the OverridableComponent with the same key. * * If an (optional) cloudProvider is specified, the component override takes effect only for that cloud provider. * * @Overrides('overrideKey', "aws") * class MyOverridingCmp extends React.Component { * render() { return

Overridden component

} * } */ export declare function Overrides(key: string, cloudProvider?: string): >(targetComponent: T) => void; /** * Registers a component as a replacement for some other component. * * This should be applied to a React Function Component, since they cannot utilize decorators. * The component class will be used instead of the OverridableComponent with the same key. * * If an (optional) cloudProvider is specified, the component override takes effect only for that cloud provider. * If not, this is the same as using the override registry to override the component. */ export declare const overridesComponent: (targetComponent: React.ComponentType, key: string, cloudProvider?: string) => void;