import { IssuesList } from '@teambit/component-issues';
import ComponentFS from './component-fs';
import { Config } from './config';
import { AspectList } from './aspect-list';
export declare class State {
    /**
     * component configuration which is later generated to a component `package.json` and `bit.json`.
     * @deprecated please use `aspects` instead.
     */
    readonly config: Config;
    /**
     * list of aspects configured on the component.
     */
    private _aspects;
    /**
     * in-memory representation of the component current filesystem.
     */
    readonly filesystem: ComponentFS;
    /**
     * dependency graph of the component current. ideally package dependencies would be also placed here.
     */
    readonly dependencies: any;
    /**
     * instance of legacy consumer component.
     */
    readonly _consumer: any;
    constructor(
    /**
     * component configuration which is later generated to a component `package.json` and `bit.json`.
     * @deprecated please use `aspects` instead.
     */
    config: Config, 
    /**
     * list of aspects configured on the component.
     */
    _aspects: AspectList, 
    /**
     * in-memory representation of the component current filesystem.
     */
    filesystem: ComponentFS, 
    /**
     * dependency graph of the component current. ideally package dependencies would be also placed here.
     */
    dependencies: any, 
    /**
     * instance of legacy consumer component.
     */
    _consumer: any);
    /**
     * get the main file of the component.
     */
    get mainFile(): import("@teambit/component.sources").AbstractVinyl;
    /**
     * calculate the hash of this state
     */
    get hash(): string;
    get issues(): IssuesList;
    /**
     * @deprecated please use `component.isModified`.
     * the way it's implemented here is unreliable and will only work if in the legacy the "isModified" was calculated.
     */
    get isModified(): boolean;
    get aspects(): AspectList;
    set aspects(aspects: AspectList);
}
