import { SourcePath } from '../../common/types';
import { SourceComponent } from '../sourceComponent';
import { MixedContentSourceAdapter } from './mixedContentSourceAdapter';
/**
 * Handles _bundle_ types. A bundle component has all its source files, including the
 * root metadata xml, contained in its own directory.
 *
 * __Example Types__:
 *
 * LightningComponentBundle, AuraDefinitionBundle, CustomObject
 *
 * __Example Structure__:
 * ```text
 * foos/
 * ├── myFoo/
 * |   ├── myFoo.js
 * |   ├── myFooStyle.css
 * |   ├── myFoo.html
 * |   ├── myFoo.js-meta.xml
 *```
 */
export declare class BundleSourceAdapter extends MixedContentSourceAdapter {
    protected ownFolder: boolean;
    /**
     * Excludes empty bundle directories.
     *
     * e.g.
     * lwc/
     * ├── myFoo/
     * |   ├── myFoo.js
     * |   ├── myFooStyle.css
     * |   ├── myFoo.html
     * |   ├── myFoo.js-meta.xml
     * ├── emptyLWC/
     *
     * so we shouldn't populate with the `emptyLWC` directory
     *
     * @param trigger Path that `getComponent` was called with
     * @param component Component to populate properties on
     * @protected
     */
    protected populate(trigger: SourcePath, component?: SourceComponent): SourceComponent | undefined;
}
