import { z } from 'zod';
export declare const SubUserSchema: z.ZodObject<{
    id: z.ZodOptional<z.ZodString>;
    username: z.ZodString;
    password: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    traffic_limit: z.ZodOptional<z.ZodNumber>;
    expires_at: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    username: string;
    id?: string | undefined;
    password?: string | undefined;
    email?: string | undefined;
    traffic_limit?: number | undefined;
    expires_at?: string | undefined;
}, {
    username: string;
    id?: string | undefined;
    password?: string | undefined;
    email?: string | undefined;
    traffic_limit?: number | undefined;
    expires_at?: string | undefined;
}>;
export declare const SubUserUpdateSchema: z.ZodObject<{
    username: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
    email: z.ZodOptional<z.ZodString>;
    traffic_limit: z.ZodOptional<z.ZodNumber>;
    expires_at: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    username?: string | undefined;
    password?: string | undefined;
    email?: string | undefined;
    traffic_limit?: number | undefined;
    expires_at?: string | undefined;
}, {
    username?: string | undefined;
    password?: string | undefined;
    email?: string | undefined;
    traffic_limit?: number | undefined;
    expires_at?: string | undefined;
}>;
export declare const WhitelistIPSchema: z.ZodObject<{
    ip: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    ip: string;
    description?: string | undefined;
}, {
    ip: string;
    description?: string | undefined;
}>;
export declare const TrafficQuerySchema: z.ZodObject<{
    proxyType: z.ZodString;
    startDate: z.ZodString;
    endDate: z.ZodString;
    groupBy: z.ZodString;
    sub_user_id: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    proxyType: string;
    startDate: string;
    endDate: string;
    groupBy: string;
    sub_user_id?: string | undefined;
}, {
    proxyType: string;
    startDate: string;
    endDate: string;
    groupBy: string;
    sub_user_id?: string | undefined;
}>;
export declare const TargetInfoSchema: z.ZodObject<{
    url: z.ZodString;
}, "strip", z.ZodTypeAny, {
    url: string;
}, {
    url: string;
}>;
export declare const EndpointGenerationSchema: z.ZodObject<{
    username: z.ZodString;
    password: z.ZodString;
    protocol: z.ZodOptional<z.ZodEnum<["http", "https"]>>;
    format: z.ZodOptional<z.ZodEnum<["json", "xml"]>>;
    custom_params: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
}, "strip", z.ZodTypeAny, {
    username: string;
    password: string;
    protocol?: "http" | "https" | undefined;
    format?: "json" | "xml" | undefined;
    custom_params?: Record<string, string> | undefined;
}, {
    username: string;
    password: string;
    protocol?: "http" | "https" | undefined;
    format?: "json" | "xml" | undefined;
    custom_params?: Record<string, string> | undefined;
}>;
export type SubUser = z.infer<typeof SubUserSchema>;
export type SubUserUpdate = z.infer<typeof SubUserUpdateSchema>;
export type WhitelistIP = z.infer<typeof WhitelistIPSchema>;
export type TrafficQuery = z.infer<typeof TrafficQuerySchema>;
export type TargetInfo = z.infer<typeof TargetInfoSchema>;
export type EndpointGeneration = z.infer<typeof EndpointGenerationSchema>;
export interface ApiResponse<T = any> {
    success: boolean;
    data?: T;
    error?: string;
    message?: string;
}
//# sourceMappingURL=types.d.ts.map