import { KMsgError, type Result, type Template, type TemplateContext, type TemplateCreateInput, type TemplateUpdateInput } from "@k-msg/core";
import type { NormalizedIwinvConfig } from "./iwinv.internal.types";
export declare function createTemplate(params: {
    providerId: string;
    config: NormalizedIwinvConfig;
    input: TemplateCreateInput;
}): Promise<Result<Template, KMsgError>>;
export declare function updateTemplate(params: {
    providerId: string;
    config: NormalizedIwinvConfig;
    code: string;
    patch: TemplateUpdateInput;
    ctx?: TemplateContext;
}): Promise<Result<Template, KMsgError>>;
export declare function deleteTemplate(params: {
    providerId: string;
    config: NormalizedIwinvConfig;
    code: string;
}): Promise<Result<void, KMsgError>>;
export declare function getTemplate(params: {
    providerId: string;
    config: NormalizedIwinvConfig;
    code: string;
    ctx?: TemplateContext;
}): Promise<Result<Template, KMsgError>>;
export declare function listTemplates(params: {
    providerId: string;
    config: NormalizedIwinvConfig;
    query?: {
        status?: string;
        page?: number;
        limit?: number;
    };
    ctx?: TemplateContext;
}): Promise<Result<Template[], KMsgError>>;
