import Protocol from '../protocols';
import ABI from '../protocols/ethereum/abi';
export interface ScaffoldOptions {
    protocol: Protocol;
    abi?: ABI;
    indexEvents?: boolean;
    contract?: string;
    network: string;
    contractName: string;
    startBlock?: string;
    subgraphName?: string;
    node?: string;
}
export default class Scaffold {
    protocol: Protocol;
    abi?: ABI;
    indexEvents?: boolean;
    contract?: string;
    network: string;
    contractName: string;
    subgraphName?: string;
    node?: string;
    startBlock?: string;
    constructor(options: ScaffoldOptions);
    generatePackageJson(): string;
    generateManifest(): string;
    generateSchema(): string;
    generateTsConfig(): string;
    generateMappings(): {
        [x: string]: string;
    } | undefined;
    generateMapping(): string;
    generateABIs(): {
        [x: string]: string;
    } | undefined;
    generateTests(): {
        [x: string]: string;
    } | undefined;
    generate(): {
        'package.json': string;
        'subgraph.yaml': string;
        'schema.graphql': string;
        'tsconfig.json': string;
        src: {
            [x: string]: string;
        } | undefined;
        abis: {
            [x: string]: string;
        } | undefined;
        tests: {
            [x: string]: string;
        } | undefined;
    };
}
