import { RequestError } from './errors';
import { KanaGroupClientConfig, KanaGroupClientFullConfig } from './KanaGroupClientConfig';
import { Entitlement, Feature, Package, Group } from './types';
export declare class KanaGroupClient {
    readonly config: KanaGroupClientFullConfig;
    private readonly gqlSdk;
    private _groupCached;
    private _group?;
    private _groupSubscribedPackages;
    private _groupSubscribedFeatures;
    private _groupFeatureConsumptions;
    constructor(config: KanaGroupClientConfig);
    resetCache(): Promise<void>;
    getGroup(): Promise<import("./types").RequestResult<Group | undefined, RequestError>>;
    getSubscribedPackages(): Promise<import("./types").RequestResult<Package[], RequestError>>;
    getSubscribedFeatures(): Promise<import("./types").RequestResult<Feature[], RequestError>>;
    canUseFeature(featureId: string, delta?: number): Promise<import("./types").RequestResult<Entitlement, RequestError>>;
    private initGroupCache;
    private updateGroupFields;
}
