import type { KMsgError, Result, Template, TemplateContext, TemplateCreateInput, TemplateInspectionProvider, TemplateProvider, TemplateUpdateInput } from "@k-msg/core";
import type { AligoConfig } from "./types/aligo";
export declare class AligoTemplateProvider implements TemplateProvider, TemplateInspectionProvider {
    readonly id = "aligo";
    private readonly config;
    private readonly smsHost;
    private readonly alimtalkHost;
    constructor(config: AligoConfig);
    private getRuntimeContext;
    createTemplate(input: TemplateCreateInput, ctx?: TemplateContext): Promise<Result<Template, KMsgError>>;
    updateTemplate(code: string, patch: TemplateUpdateInput, ctx?: TemplateContext): Promise<Result<Template, KMsgError>>;
    deleteTemplate(code: string, ctx?: TemplateContext): Promise<Result<void, KMsgError>>;
    getTemplate(code: string, ctx?: TemplateContext): Promise<Result<Template, KMsgError>>;
    listTemplates(params?: {
        status?: string;
        page?: number;
        limit?: number;
    }, ctx?: TemplateContext): Promise<Result<Template[], KMsgError>>;
    requestTemplateInspection(code: string, ctx?: TemplateContext): Promise<Result<void, KMsgError>>;
}
export declare const createAligoTemplateProvider: (config: AligoConfig) => AligoTemplateProvider;
export declare const createDefaultAligoTemplateProvider: () => AligoTemplateProvider;
export declare class AligoTemplateProviderFactory {
    static create(config: AligoConfig): AligoTemplateProvider;
    static createDefault(): AligoTemplateProvider;
}
