import { Symbol } from './symbol';
import { CssAst } from '../css-parser/css-ast';
import { ComponentMetadata } from './metadata';
import { TemplateNode } from './template-transform.visitor';
export declare class ComponentSymbol extends Symbol<'Component'> {
    readonly annotation = "Component";
    private assertScope;
    get metadata(): ComponentMetadata | null;
    /** Get the module scope of the component */
    private getScope;
    /** Return the list of available selectors for the template */
    getSelectorScope(): string[];
    /** Return the list of pipe available for the template */
    getPipeScope(): string[];
    /**
     * Return class & factory providers specific to this class
     * @note only providers specified in the `provider` fields of the component will be returned (not the module).
     */
    getProviders(): (import("./injectable.symbol").InjectableSymbol | import("./provider").Provider)[];
    /** Return dependencies injected in the constructor of the component */
    getDependencies(): (import("./injectable.symbol").InjectableSymbol | import("./module.symbol").NgModuleSymbol | import("./directive.symbol").DirectiveSymbol | ComponentSymbol | import("./pipe.symbol").PipeSymbol | import("./provider").Provider)[];
    /** The Style AST provided by ngast */
    getStylesAst(): CssAst[] | null | undefined;
    /** The Template AST provided by Ivy */
    getTemplateAst(): undefined | null | TemplateNode[];
}
