import { AtomConfig, IonStateFactory, AtomGenerics } from '../../types/index.js';
import { AtomInstance } from '../instances/AtomInstance.js';
import { Ecosystem } from '../Ecosystem.js';
import { AtomTemplateBase } from './AtomTemplateBase.js';
export declare class IonTemplate<G extends AtomGenerics> extends AtomTemplateBase<G, AtomInstance<G>> {
    private _get;
    constructor(key: string, stateFactory: IonStateFactory<G>, _config?: AtomConfig<G['State']>);
    _createInstance(ecosystem: Ecosystem, id: string, params: G['Params']): AtomInstance<G>;
    getInstanceId(ecosystem: Ecosystem, params?: G['Params']): string;
    override(newGet?: IonStateFactory<G>): IonTemplate<{
        State: G["State"] | G["Store"];
        Params: G["Params"];
        Exports: G["Exports"];
        Store: import("packages/core/dist/esm").Store<G["State"] | G["Store"]>;
        Promise: G["Promise"];
    }>;
}
