import { z } from 'zod';
export declare const AuthConfigSchema: z.ZodObject<{
    type: z.ZodEnum<["basic", "api_key"]>;
    username: z.ZodOptional<z.ZodString>;
    password: z.ZodOptional<z.ZodString>;
    apiKey: z.ZodOptional<z.ZodString>;
    headerName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    type: "basic" | "api_key";
    username?: string | undefined;
    password?: string | undefined;
    apiKey?: string | undefined;
    headerName?: string | undefined;
}, {
    type: "basic" | "api_key";
    username?: string | undefined;
    password?: string | undefined;
    apiKey?: string | undefined;
    headerName?: string | undefined;
}>;
export type AuthConfig = z.infer<typeof AuthConfigSchema>;
export interface AuthHeaders {
    [key: string]: string;
}
export declare class AuthManager {
    private config;
    constructor(config: AuthConfig);
    private validate;
    getHeaders(): AuthHeaders;
    getAuthType(): string;
}
export declare function createAuthManager(config: AuthConfig): AuthManager;
//# sourceMappingURL=auth.d.ts.map