Files
recap/node_modules/@start9labs/start-sdk/base/lib/actions/input/inputSpecConstants.d.ts
T

2265 lines
86 KiB
TypeScript

import { InputSpec } from './builder/inputSpec';
import { Value } from './builder/value';
import { Variants } from './builder/variants';
import { z } from 'zod';
/**
* Base SMTP settings with no provider-specific defaults.
*/
export declare const customSmtp: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
/**
* Provider presets for SMTP configuration.
* Each variant has SMTP fields pre-filled with the provider's recommended settings.
*/
export declare const smtpProviderVariants: Variants<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, unknown>;
/**
* System SMTP settings with provider presets.
* Wraps smtpProviderVariants in a union for use by the system email settings page.
*/
export declare const systemSmtpSpec: InputSpec<{
provider: import("./builder/variants").UnionRes<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}, {
provider: import("./builder/variants").UnionResStaticValidatedAs<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}>;
/**
* For service inputSpec. Gives users 3 options for SMTP: (1) disabled, (2) use system SMTP settings, (3) use custom SMTP settings with provider presets
*/
export declare const smtpInputSpec: Value<import("./builder/variants").UnionRes<{
disabled: {
name: string;
spec: InputSpec<{}, {}>;
};
system: {
name: string;
spec: InputSpec<{
customFrom: string | null;
}, {
customFrom: string | null;
}>;
};
custom: {
name: string;
spec: InputSpec<{
provider: import("./builder/variants").UnionRes<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}, {
provider: import("./builder/variants").UnionResStaticValidatedAs<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}>;
};
}>, import("./builder/variants").UnionResStaticValidatedAs<{
disabled: {
name: string;
spec: InputSpec<{}, {}>;
};
system: {
name: string;
spec: InputSpec<{
customFrom: string | null;
}, {
customFrom: string | null;
}>;
};
custom: {
name: string;
spec: InputSpec<{
provider: import("./builder/variants").UnionRes<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}, {
provider: import("./builder/variants").UnionResStaticValidatedAs<{
gmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
ses: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
sendgrid: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
mailgun: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
protonmail: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
other: {
name: string;
spec: InputSpec<{
host: string;
security: import("./builder/variants").UnionRes<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}, {
host: string;
security: import("./builder/variants").UnionResStaticValidatedAs<{
tls: {
name: string;
spec: InputSpec<{
port: string;
}, {
port: string | null;
}>;
};
starttls: {
name: string;
spec: InputSpec<{
port: "587" | "25" | "2525";
}, {
port: "587" | "25" | "2525";
}>;
};
}, "starttls" | "tls">;
from: string;
username: string;
password: string | null;
}>;
};
}, "other" | "gmail" | "ses" | "sendgrid" | "mailgun" | "protonmail">;
}>;
};
}>, unknown>;
export type SmtpSelection = {
selection: 'disabled';
value: Record<string, never>;
} | {
selection: 'system';
value: {
customFrom?: string | null;
};
} | {
selection: 'custom';
value: {
provider: {
selection: string;
value: {
host: string;
from: string;
username: string;
password?: string | null;
security: {
selection: 'tls' | 'starttls';
value: {
port: string;
};
};
};
};
};
};
/**
* Zod schema for persisting SMTP selection in a store file model.
* Use this instead of `smtpInputSpec.validator` to avoid cross-zod-instance issues.
*/
export declare const smtpShape: z.ZodType<SmtpSelection>;
/**
* Convert a stored SmtpSelection to a value suitable for prefilling smtpInputSpec.
*
* The stored type (SmtpSelection from smtpShape) uses flat unions for provider/security
* selection, while the input spec (smtpInputSpec) uses distributed discriminated unions
* (UnionRes). These are structurally incompatible in TypeScript's type system, even
* though the runtime values are identical. This function bridges the two types so that
* service code doesn't need `as any`.
*/
export declare function smtpPrefill(smtp: SmtpSelection | null | undefined): any;