import { RemoveApi } from '../remove'; import { InsertApi } from '../insert'; import { ReplaceApi } from '../replace'; import { AnyOpts } from '../modify'; import { BaseApi, StoreOperation } from './base-api'; import { Tree } from '@nrwl/devkit'; interface ChainDef { api: string; ops: StoreOperation[]; } export declare const chainApiFromFile: (filePath: string) => ChainApi; export declare const chainApi: (source?: string) => ChainApi; export interface Chainable { source: string; defaultOpts?: AnyOpts; } export declare class ChainApi implements Chainable { source: string; defaultOpts: {}; apiNames: string[]; tree?: Tree; constructor(source: string); setTree(tree: Tree): this; readFile(filePath: string): ChainApi; apiByName(name: string): BaseApi; saveFile(filePath: string, { tree, format }: { tree?: Tree; format?: boolean; }): Promise; loadChainFromFile(filePath: string): this; loadChain(chainDef: ChainDef[], reset?: boolean): this; applyStores(names?: string[]): this; resetStores(names?: string[]): this; resetStore(name: string): this; applyStore(name: string): this; isValidApiName(name: string): boolean; setDefaultOpts(opts?: AnyOpts): this; setSource(source: string): this; get insert(): InsertApi; get remove(): RemoveApi; get replace(): ReplaceApi; } export {};