import type { KMsgError, Result, Template, TemplateContext, TemplateCreateInput, TemplateInspectionProvider, TemplateProvider, TemplateUpdateInput } from "@k-msg/core";
import { AligoSendProvider } from "./provider.send";
import type { AligoConfig } from "./types/aligo";
export declare class AligoProvider extends AligoSendProvider implements TemplateProvider, TemplateInspectionProvider {
    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 createAligoProvider: (config: AligoConfig) => AligoProvider;
export declare const createDefaultAligoProvider: () => AligoProvider;
export declare class AligoProviderFactory {
    static create(config: AligoConfig): AligoProvider;
    static createDefault(): AligoProvider;
}
export declare function initializeAligo(): void;
