import { KindeConfigInterface } from "./interfaces/kinde-config.interface";
import { InjectionToken } from "@angular/core";
export declare class KindeClientFactory {
    static createClient(config: KindeConfigInterface, platform: Object): {
        getUserOrganizations: () => Promise<{
            orgCodes: string[];
        }>;
        handleRedirectToApp: (callbackURL: URL) => Promise<void>;
        isAuthenticated: () => Promise<boolean>;
        getOrganization: () => Promise<{
            orgCode: string | null;
        }>;
        getBooleanFlag: (code: string, defaultValue?: boolean | undefined) => Promise<boolean>;
        getIntegerFlag: (code: string, defaultValue?: number | undefined) => Promise<number>;
        getUserProfile: () => Promise<import("@kinde-oss/kinde-typescript-sdk").UserType>;
        getPermissions: () => Promise<{
            permissions: string[];
            orgCode: string | null;
        }>;
        getPermission: (name: string) => Promise<{
            orgCode: string | null;
            isGranted: boolean;
        }>;
        getClaimValue: (claim: string, type?: import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk").ClaimTokenType) => Promise<unknown>;
        getStringFlag: (code: string, defaultValue?: string | undefined) => Promise<string>;
        createOrg: (options?: import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk/clients/types").RegisterURLOptions | undefined) => Promise<URL>;
        getClaim: (claim: string, type?: import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk").ClaimTokenType) => Promise<{
            name: string;
            value: unknown;
        }>;
        getToken: () => Promise<string>;
        refreshTokens: () => Promise<import("@kinde-oss/kinde-typescript-sdk").OAuth2CodeExchangeResponse>;
        register: (options?: import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk/clients/types").RegisterURLOptions | undefined) => Promise<URL>;
        getUser: () => Promise<import("@kinde-oss/kinde-typescript-sdk").UserType>;
        getFlag: (code: string, defaultValue?: string | number | boolean | undefined, type?: keyof import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk").FlagType | undefined) => Promise<import("@kinde-oss/kinde-typescript-sdk").GetFlagType>;
        logout: () => Promise<URL>;
        login: (options?: import("@kinde-oss/kinde-typescript-sdk/dist/types/sdk/clients/types").RegisterURLOptions | undefined) => Promise<URL>;
    } | null;
}
export declare const KINDE_FACTORY_TOKEN: InjectionToken<KindeClientFactory>;
