export type ProviderConfigFieldType = "string" | "number" | "boolean" | "stringRecord";
export interface ProviderConfigFieldSpec {
    type: ProviderConfigFieldType;
    required?: boolean;
    description?: string;
    defaultValue?: string;
}
export type ProviderConfigFieldMap = Record<string, ProviderConfigFieldSpec>;
export declare const providerConfigFieldSpecs: {
    readonly mock: {};
    readonly aligo: {
        readonly apiKey: {
            readonly type: "string";
            readonly required: true;
            readonly description: "Aligo API key";
            readonly defaultValue: "env:ALIGO_API_KEY";
        };
        readonly userId: {
            readonly type: "string";
            readonly required: true;
            readonly description: "Aligo user id";
            readonly defaultValue: "env:ALIGO_USER_ID";
        };
        readonly senderKey: {
            readonly type: "string";
            readonly description: "Default Kakao sender key";
            readonly defaultValue: "env:ALIGO_SENDER_KEY";
        };
        readonly sender: {
            readonly type: "string";
            readonly description: "Default SMS/LMS sender number";
            readonly defaultValue: "env:ALIGO_SENDER";
        };
        readonly testMode: {
            readonly type: "boolean";
            readonly description: "Enable Aligo test mode";
        };
        readonly debug: {
            readonly type: "boolean";
            readonly description: "Enable debug logging";
        };
        readonly smsBaseUrl: {
            readonly type: "string";
            readonly description: "Override SMS API base URL";
        };
        readonly alimtalkBaseUrl: {
            readonly type: "string";
            readonly description: "Override AlimTalk API base URL";
        };
        readonly friendtalkEndpoint: {
            readonly type: "string";
            readonly description: "Override FriendTalk endpoint path";
        };
    };
    readonly iwinv: {
        readonly apiKey: {
            readonly type: "string";
            readonly required: true;
            readonly description: "IWINV AlimTalk API key (AUTH header)";
            readonly defaultValue: "env:IWINV_API_KEY";
        };
        readonly smsApiKey: {
            readonly type: "string";
            readonly description: "IWINV SMS API key";
            readonly defaultValue: "env:IWINV_SMS_API_KEY";
        };
        readonly smsAuthKey: {
            readonly type: "string";
            readonly description: "IWINV SMS auth key";
            readonly defaultValue: "env:IWINV_SMS_AUTH_KEY";
        };
        readonly smsCompanyId: {
            readonly type: "string";
            readonly description: "IWINV SMS company id";
            readonly defaultValue: "env:IWINV_SMS_COMPANY_ID";
        };
        readonly senderNumber: {
            readonly type: "string";
            readonly description: "Default sender number";
            readonly defaultValue: "env:IWINV_SENDER_NUMBER";
        };
        readonly smsSenderNumber: {
            readonly type: "string";
            readonly description: "SMS/LMS sender number override";
        };
        readonly sendEndpoint: {
            readonly type: "string";
            readonly description: "Override IWINV send endpoint path";
        };
        readonly xForwardedFor: {
            readonly type: "string";
            readonly description: "X-Forwarded-For header override";
        };
        readonly extraHeaders: {
            readonly type: "stringRecord";
            readonly description: "Additional HTTP headers";
        };
        readonly ipRetryCount: {
            readonly type: "number";
            readonly description: "IP-restriction retry count";
        };
        readonly ipRetryDelayMs: {
            readonly type: "number";
            readonly description: "IP-restriction retry delay in ms";
        };
        readonly ipAlertWebhookUrl: {
            readonly type: "string";
            readonly description: "Webhook URL for IP restriction alerts";
        };
        readonly debug: {
            readonly type: "boolean";
            readonly description: "Enable debug logging";
        };
    };
    readonly solapi: {
        readonly apiKey: {
            readonly type: "string";
            readonly required: true;
            readonly description: "SOLAPI API key";
            readonly defaultValue: "env:SOLAPI_API_KEY";
        };
        readonly apiSecret: {
            readonly type: "string";
            readonly required: true;
            readonly description: "SOLAPI API secret";
            readonly defaultValue: "env:SOLAPI_API_SECRET";
        };
        readonly defaultFrom: {
            readonly type: "string";
            readonly description: "Default sender number";
            readonly defaultValue: "env:SOLAPI_DEFAULT_FROM";
        };
        readonly kakaoPfId: {
            readonly type: "string";
            readonly description: "Default Kakao PF ID";
            readonly defaultValue: "env:SOLAPI_KAKAO_PF_ID";
        };
        readonly rcsBrandId: {
            readonly type: "string";
            readonly description: "Default RCS brand id";
        };
        readonly naverTalkId: {
            readonly type: "string";
            readonly description: "Default Naver Talk id";
        };
        readonly appId: {
            readonly type: "string";
            readonly description: "SOLAPI app id";
        };
        readonly defaultCountry: {
            readonly type: "string";
            readonly description: "Default country code";
        };
        readonly baseUrl: {
            readonly type: "string";
            readonly description: "Override SOLAPI API base URL";
        };
        readonly debug: {
            readonly type: "boolean";
            readonly description: "Enable debug logging";
        };
    };
};
export type ProviderTypeWithConfig = keyof typeof providerConfigFieldSpecs;
