import AstItem, { IAstItemOptions } from './AstItem';
/**
  * This is an abstract base class for AstModule, AstEnum, and AstStructuredType,
  * which all act as containers for other AstItem definitions.
  */
declare abstract class AstItemContainer extends AstItem {
    private _memberItems;
    constructor(options: IAstItemOptions);
    /**
     * Find a member in this namespace by name and return it if found.
     *
     * @param memberName - the name of the exported AstItem
     */
    getMemberItem(memberName: string): AstItem | undefined;
    /**
     * Return a list of the child items for this container, sorted alphabetically.
     */
    getSortedMemberItems(): AstItem[];
    /**
     * @virtual
     */
    visitTypeReferencesForAstItem(): void;
    /**
     * Add a child item to the container.
     */
    protected addMemberItem(astItem: AstItem): void;
}
export default AstItemContainer;
