import * as rxjs from 'rxjs';
import { AI as AI$1, getAI as getAI$1, getGenerativeModel as getGenerativeModel$1, getImagenModel as getImagenModel$1, getVertexAI as getVertexAI$1 } from 'firebase/ai';
export * from 'firebase/ai';
import * as i0 from '@angular/core';
import { Injector, EnvironmentProviders } from '@angular/core';

interface AI extends AI$1 {
}
declare class AI {
    constructor(ai: AI$1);
}
interface AIInstances extends Array<AI$1> {
}
declare class AIInstances {
    constructor();
}
declare const AIInstance$: rxjs.Observable<AI$1>;

declare class AIModule {
    constructor();
    static ɵfac: i0.ɵɵFactoryDeclaration<AIModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<AIModule, never, never, never>;
    static ɵinj: i0.ɵɵInjectorDeclaration<AIModule>;
}
declare function provideAI(fn: (injector: Injector) => AI$1, ...deps: any[]): EnvironmentProviders;

declare const getAI: typeof getAI$1;
declare const getGenerativeModel: typeof getGenerativeModel$1;
declare const getImagenModel: typeof getImagenModel$1;
declare const getVertexAI: typeof getVertexAI$1;

export { AI, AIInstance$, AIInstances, AIModule, getAI, getGenerativeModel, getImagenModel, getVertexAI, provideAI };
