import * as i0 from '@angular/core';
import { Injector, EnvironmentProviders } from '@angular/core';
import { Functions as Functions$1, connectFunctionsEmulator as connectFunctionsEmulator$1, getFunctions as getFunctions$1, httpsCallable as httpsCallable$2, httpsCallableFromURL as httpsCallableFromURL$1 } from 'firebase/functions';
export * from 'firebase/functions';
import * as rxjs from 'rxjs';
import { httpsCallable as httpsCallable$1 } from 'rxfire/functions';

interface Functions extends Functions$1 {
}
declare class Functions {
    constructor(functions: Functions$1);
}
interface FunctionsInstances extends Array<Functions$1> {
}
declare class FunctionsInstances {
    constructor();
}
declare const functionInstance$: rxjs.Observable<Functions$1>;

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

declare const httpsCallableData: typeof httpsCallable$1;

declare const connectFunctionsEmulator: typeof connectFunctionsEmulator$1;
declare const getFunctions: typeof getFunctions$1;
declare const httpsCallable: typeof httpsCallable$2;
declare const httpsCallableFromURL: typeof httpsCallableFromURL$1;

export { Functions, FunctionsInstances, FunctionsModule, connectFunctionsEmulator, functionInstance$, getFunctions, httpsCallable, httpsCallableData, httpsCallableFromURL, provideFunctions };
