import { default as Keycloak, KeycloakConfig, KeycloakOnLoad } from 'keycloak-js';
import { App, InjectionKey, Ref } from 'vue';
export interface KeycloakAuthAdapterOptions {
    keycloakOptions: KeycloakConfig;
    onLoad: KeycloakOnLoad;
    refreshRate: number;
    updateTokenMinValidity: number;
    onTokenRefreshed: (_: string | undefined) => void;
    onTokenRefreshFailed: (_: any) => void;
    checkAccess: (keycloak: Keycloak) => boolean;
}
export type KeycloakAuthAdapterInitOptions = Pick<KeycloakAuthAdapterOptions, 'keycloakOptions'> & Partial<KeycloakAuthAdapterOptions>;
export declare const KeycloakAuthAdapterInstance: InjectionKey<Ref<Keycloak | undefined, Keycloak | undefined>>;
export declare const keycloakAuthAdapterInit: (options: KeycloakAuthAdapterInitOptions) => Promise<Ref<Keycloak | undefined>>;
export declare const useKeycloakAuthAdapter: () => {
    auth: Ref<Keycloak | undefined, Keycloak | undefined> | undefined;
};
export declare const keycloakAuthAdapter: {
    install: (app: App, kcInstance: Ref<Keycloak | undefined>) => void;
};
