import { IRemoteConfig, IConfigSettings, IConfigValue, ConfigDefaults } from './common';
import { FirebaseApp } from '@nativescript/firebase-core';
export declare class ConfigValue implements IConfigValue {
    _native: com.google.firebase.remoteconfig.FirebaseRemoteConfigValue;
    static fromNative(value: com.google.firebase.remoteconfig.FirebaseRemoteConfigValue): ConfigValue;
    get native(): com.google.firebase.remoteconfig.FirebaseRemoteConfigValue;
    get android(): com.google.firebase.remoteconfig.FirebaseRemoteConfigValue;
    asBoolean(): boolean;
    asNumber(): number;
    asString(): string;
    getSource(): 'default' | 'static' | 'remote';
}
export declare class ConfigSettings implements IConfigSettings {
    _native: com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
    _builder: com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings.Builder;
    constructor();
    static fromNative(config: com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings): ConfigSettings;
    get native(): com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
    get android(): com.google.firebase.remoteconfig.FirebaseRemoteConfigSettings;
    get fetchTimeMillis(): number;
    set fetchTimeMillis(value: number);
    get minimumFetchIntervalMillis(): number;
    set minimumFetchIntervalMillis(value: number);
}
export declare class RemoteConfig implements IRemoteConfig {
    _native: com.google.firebase.remoteconfig.FirebaseRemoteConfig;
    _app: FirebaseApp;
    constructor(app?: FirebaseApp);
    get native(): com.google.firebase.remoteconfig.FirebaseRemoteConfig;
    get android(): com.google.firebase.remoteconfig.FirebaseRemoteConfig;
    get app(): FirebaseApp;
    get fetchTimeMillis(): number;
    get lastFetchStatus(): 'success' | 'failure' | 'no_fetch_yet' | 'throttled';
    get settings(): ConfigSettings;
    set settings(value: ConfigSettings);
    activate(): Promise<boolean>;
    ensureInitialized(): Promise<void>;
    fetch(expirationDurationSeconds?: number): Promise<void>;
    fetchAndActivate(): Promise<boolean>;
    getAll(): {};
    getBoolean(key: string): boolean;
    getNumber(key: string): number;
    getString(key: string): string;
    getValue(key: string): ConfigValue;
    reset(): Promise<void>;
    setDefaults(defaults: ConfigDefaults): Promise<void>;
    setDefaultsFromResource(resourceName: string): Promise<void>;
}
