import { SourceMaps } from '@neo-one/client-common';
import { CRUD, DescribeTable, ListTable, MasterResourceAdapter, MasterResourceAdapterOptions, ResourceState, ResourceType } from '@neo-one/server-plugin';
import { ProjectPlugin } from './ProjectPlugin';
export interface Coin {
    readonly assetName: string;
    readonly asset: string;
    readonly amount: string;
}
export interface Project {
    readonly plugin: string;
    readonly resourceType: string;
    readonly name: string;
    readonly baseName: string;
    readonly state: ResourceState;
    readonly rootDir: string;
    readonly sourceMaps: SourceMaps;
}
export interface ProjectResourceOptions {
    readonly rootDir?: string;
    readonly sourceMaps?: SourceMaps;
}
export declare class ProjectResourceType extends ResourceType<Project, ProjectResourceOptions> {
    constructor({ plugin }: {
        readonly plugin: ProjectPlugin;
    });
    createMasterResourceAdapter(_options: MasterResourceAdapterOptions): Promise<MasterResourceAdapter<Project, ProjectResourceOptions>>;
    getCRUD(): CRUD<Project, ProjectResourceOptions>;
    getListTable(resources: readonly Project[]): ListTable;
    getDescribeTable(resource: Project): DescribeTable;
}
