///
import { Layout } from '@acoustic-content-sdk/api';
import { AbstractComponentTypeRefResolver } from '@acoustic-content-sdk/component-api';
import { Observable } from 'rxjs';
import { ComponentTypeRef } from './type.ref';
/**
* Service that resolves a component type ref given a layout.
*/
export interface ComponentTypeRefResolver extends AbstractComponentTypeRefResolver {
/**
* Returns the type object based on the layout configuration
*
* @param aLayout - the layout object
* @param aLayoutMode - an optional layout mode, defaults to the default mode
* @returns the resolved component type
*/
getTypeByLayout: (aLayout: Layout, aLayoutMode?: string) => Observable;
}
/**
* A multi-provider token used for dependency injection of the ComponentTypeRefResolvers.
*/
export declare const ACOUSTIC_CONTEXT_COMPONENT_TYPE_REF_RESOLVERS: Required>;