import * as z from 'zod';
export declare const ClientConfig: z.ZodObject<{
    token: z.ZodOptional<z.ZodNullable<z.ZodBase64>>;
    server: z.ZodOptional<z.ZodNullable<z.ZodURL>>;
    cache: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        fetched: z.ZodInt;
        session: z.ZodObject<{
            id: z.ZodUUID;
            userId: z.ZodUUID;
            name: z.ZodOptional<z.ZodNullable<z.ZodString>>;
            expires: z.ZodCoercedDate<unknown>;
            created: z.ZodCoercedDate<unknown>;
            elevated: z.ZodBoolean;
            user: z.ZodObject<{
                id: z.ZodUUID;
                name: z.ZodString;
                email: z.ZodEmail;
                emailVerified: z.ZodOptional<z.ZodNullable<z.ZodCoercedDate<unknown>>>;
                preferences: z.ZodLazy<z.ZodObject<{
                    debug: z.ZodDefault<z.ZodBoolean>;
                }, z.core.$strip>>;
                roles: z.ZodArray<z.ZodString>;
                tags: z.ZodArray<z.ZodString>;
                registeredAt: z.ZodCoercedDate<unknown>;
                isAdmin: z.ZodBoolean;
                isSuspended: z.ZodBoolean;
            }, z.core.$strip>;
        }, z.core.$strip>;
        apps: z.ZodArray<z.ZodObject<{
            id: z.ZodString;
            name: z.ZodOptional<z.ZodString>;
            image: z.ZodOptional<z.ZodString>;
            icon: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>;
    }, z.core.$loose>>>;
    plugins: z.ZodDefault<z.ZodArray<z.ZodString>>;
}, z.core.$loose>;
export interface ClientConfig extends z.infer<typeof ClientConfig> {
}
export declare const config: ClientConfig;
export declare function resolveServerURL(server: string): string;
