/**
 * Credential template management
 */
import { z } from 'zod';
export declare const CredentialTemplateSchema: z.ZodObject<{
    id: z.ZodString;
    name: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    credential_type: z.ZodArray<z.ZodString, "many">;
    template_data: z.ZodRecord<z.ZodString, z.ZodUnknown>;
    version: z.ZodNumber;
    is_active: z.ZodBoolean;
    created_by: z.ZodNullable<z.ZodString>;
    created_at: z.ZodDate;
    updated_at: z.ZodDate;
}, "strip", z.ZodTypeAny, {
    name: string;
    id: string;
    created_at: Date;
    updated_at: Date;
    created_by: string | null;
    credential_type: string[];
    template_data: Record<string, unknown>;
    version: number;
    is_active: boolean;
    description?: string | undefined;
}, {
    name: string;
    id: string;
    created_at: Date;
    updated_at: Date;
    created_by: string | null;
    credential_type: string[];
    template_data: Record<string, unknown>;
    version: number;
    is_active: boolean;
    description?: string | undefined;
}>;
export type CredentialTemplate = z.infer<typeof CredentialTemplateSchema>;
/**
 * Create a credential template
 */
export declare function createCredentialTemplate(template: Omit<CredentialTemplate, 'id' | 'created_at' | 'updated_at'>): Promise<CredentialTemplate>;
/**
 * Get credential template by ID
 */
export declare function getCredentialTemplate(id: string): Promise<CredentialTemplate | null>;
/**
 * Get credential template by name and version
 */
export declare function getCredentialTemplateByName(name: string, version?: number): Promise<CredentialTemplate | null>;
/**
 * List all credential templates
 */
export declare function listCredentialTemplates(activeOnly?: boolean, limit?: number, offset?: number): Promise<CredentialTemplate[]>;
/**
 * Update credential template
 */
export declare function updateCredentialTemplate(id: string, updates: Partial<Pick<CredentialTemplate, 'description' | 'template_data' | 'is_active'>>): Promise<CredentialTemplate | null>;
/**
 * Create new version of credential template
 */
export declare function createTemplateVersion(templateId: string, updates: Partial<Pick<CredentialTemplate, 'template_data' | 'description'>>): Promise<CredentialTemplate>;
/**
 * Render credential from template with variable substitution
 */
export declare function renderCredentialFromTemplate(template: CredentialTemplate, variables: Record<string, unknown>): Record<string, unknown>;
//# sourceMappingURL=credential-templates.d.ts.map