import { AtomGenerics, AtomValueOrFactory } from '../../types/index'; import { AtomInstance } from '../instances/AtomInstance'; import { Ecosystem } from '../Ecosystem'; import { AtomTemplateBase } from './AtomTemplateBase'; export declare class AtomTemplate = AtomInstance> extends AtomTemplateBase { /** * This method should be overridden when creating custom atom classes that * create a custom atom instance class. Return a new instance of your atom * instance class. */ _createInstance(ecosystem: Ecosystem, id: string, params: G['Params']): AtomInstanceType; getInstanceId(ecosystem: Ecosystem, params?: G['Params']): string; override(newValue: AtomValueOrFactory): AtomTemplate<{ Exports: Record; Params: any[]; Promise: import("../../types/index").AtomApiPromise; State: any; Store: import("packages/core/dist/esm").Store; }, AtomInstance<{ Exports: Record; Params: any[]; Promise: import("../../types/index").AtomApiPromise; State: any; Store: import("packages/core/dist/esm").Store; }, AtomTemplateBase<{ Exports: Record; Params: any[]; Promise: import("../../types/index").AtomApiPromise; State: any; Store: import("packages/core/dist/esm").Store; }, AtomInstance<{ Exports: Record; Params: any[]; Promise: import("../../types/index").AtomApiPromise; State: any; Store: import("packages/core/dist/esm").Store; }, any>>>>; }