import type { KeycloakTokenParsed } from 'keycloak-js';
import type { KeycloakInstance } from './keycloak';
export interface KeycloakState {
    isAuthenticated: boolean;
    hasFailed: boolean;
    error: Error | null;
    isPending: boolean;
    token: string;
    decodedToken: KeycloakTokenParsed;
    username: string;
    userId: string;
    roles: string[];
    resourceRoles: Record<string, string[]>;
}
export declare const keycloak: import("vue").ShallowRef<KeycloakInstance, KeycloakInstance>;
export declare const state: {
    isAuthenticated: boolean;
    hasFailed: boolean;
    error: Error | null;
    isPending: boolean;
    token: string;
    decodedToken: {
        [x: string]: any;
        iss?: string | undefined;
        sub?: string | undefined;
        aud?: string | undefined;
        exp?: number | undefined;
        iat?: number | undefined;
        auth_time?: number | undefined;
        nonce?: string | undefined;
        acr?: string | undefined;
        amr?: string | undefined;
        azp?: string | undefined;
        session_state?: string | undefined;
        realm_access?: {
            roles: string[];
        } | undefined;
        resource_access?: import("keycloak-js").KeycloakResourceAccess | undefined;
    };
    username: string;
    userId: string;
    roles: string[];
    resourceRoles: Record<string, string[]>;
};
export declare const setKeycloak: (value: KeycloakInstance) => void;
export declare const setToken: (token: string, tokenParsed: KeycloakTokenParsed) => void;
export declare const clearToken: () => void;
export declare const hasFailed: (value: boolean, err: unknown) => void;
export declare const isPending: (value: boolean) => void;
export declare const isAuthenticated: (value: boolean) => void;
