import { Logger } from '@restorecommerce/logger';
import { type OIDCHbsTemplates } from './interfaces.js';
export interface OIDCTemplateError {
    key: string;
    message?: string;
}
export interface OIDCTemplateContext {
    title: string;
    error?: OIDCTemplateError;
    dev: boolean;
    dbg: {
        session?: any;
        params?: any;
        prompt?: any;
    };
}
export interface OIDCTemplateConsentContext extends OIDCTemplateContext {
    uid: string;
    details?: any;
}
export interface OIDCTemplateLoginContext extends OIDCTemplateContext {
    uid: string;
    identifier?: string;
    remember?: boolean;
}
export declare class OIDCTemplateEngine {
    private templates?;
    private logger?;
    private layoutHbs?;
    private loginHbs?;
    private consentHbs?;
    constructor(templates?: OIDCHbsTemplates, logger?: Logger);
    load(target: string): Promise<HandlebarsTemplateDelegate<any>>;
    layout(context: OIDCTemplateContext & {
        body: string;
    }): Promise<string>;
    login(context: OIDCTemplateLoginContext): Promise<string>;
    consent(context: OIDCTemplateConsentContext): Promise<string>;
}
//# sourceMappingURL=templates.d.ts.map