export type KanaBaseGroupClientConfig = {
    endpoint?: string;
    version?: string;
    onError?: (error: Error) => Promise<void>;
    retry?: (error: Error, retryNumber: number) => boolean;
};
export type KanaGroupTokenClientConfig = KanaBaseGroupClientConfig & {
    groupToken: string;
};
export type KanaPublicApiKeyClientConfig = KanaBaseGroupClientConfig & {
    apiKey: string;
    groupId: string;
};
export type KanaGroupClientConfig = KanaGroupTokenClientConfig | KanaPublicApiKeyClientConfig;
export type KanaGroupClientFullConfig = {
    endpoint: string;
    version: string;
    onError?: (error: Error) => Promise<void>;
    retry?: (error: Error, retryNumber: number) => boolean;
} & ({
    type: 'GroupToken';
    groupToken: string;
} | {
    type: 'PublicApiKey';
    apiKey: string;
    groupId: string;
});
