import { IAppCheck, IAppCheckToken } from './common';
import { FirebaseApp, FirebaseError } from '@nativescript/firebase-core';
export declare class AppCheckToken implements IAppCheckToken {
    _native: FIRAppCheckToken;
    static fromNative(token: FIRAppCheckToken): AppCheckToken;
    get native(): FIRAppCheckToken;
    get ios(): FIRAppCheckToken;
    get token(): string;
    get expireTimeMillis(): number;
}
declare class FIRAppCheckProviderImpl extends NSObject implements FIRAppCheckProvider {
    _owner: WeakRef<AppCheckProvider>;
    _queue: any;
    static initWithOwner(owner: WeakRef<AppCheckProvider>): FIRAppCheckProviderImpl;
    getTokenWithCompletion(handler: (p1: FIRAppCheckToken, p2: NSError) => void): void;
}
declare class FIRAppCheckProviderFactoryCustomImpl extends NSObject implements FIRAppCheckProviderFactory {
    _owner: WeakRef<AppCheckProviderFactory>;
    static initWithOwner(owner: WeakRef<AppCheckProviderFactory>): FIRAppCheckProviderFactoryCustomImpl;
    createProviderWithApp(app: any): FIRAppCheckProvider;
}
export declare abstract class AppCheckProviderFactory {
    _native: FIRAppCheckProviderFactoryCustomImpl;
    constructor();
    abstract createProvider(app: FirebaseApp): AppCheckProvider;
    get native(): FIRAppCheckProviderFactoryCustomImpl;
}
export declare abstract class AppCheckProvider {
    _native: FIRAppCheckProviderImpl;
    constructor();
    abstract getToken(done: (token: {
        token: string;
        expirationDate: Date;
    }, error: FirebaseError) => void): any;
    get native(): FIRAppCheckProviderImpl;
}
export declare class AppCheck implements IAppCheck {
    _native: FIRAppCheck;
    _nativeApp: any;
    _app: FirebaseApp;
    constructor(app?: FirebaseApp);
    static setProviderFactory(custom?: AppCheckProviderFactory): void;
    activate(isTokenAutoRefreshEnabled: boolean): void;
    getToken(forceRefresh: boolean): Promise<AppCheckToken>;
    setTokenAutoRefreshEnabled(enabled: boolean): void;
    get native(): FIRAppCheck;
    get ios(): FIRAppCheck;
    get app(): FirebaseApp;
}
export {};
