import * as plugins from './plugins.js';
import * as interfaces from '../dist_ts_interfaces/index.js';
export declare const appState: plugins.deesElement.domtools.plugins.smartstate.Smartstate<string>;
export interface ILoginState {
    identity: interfaces.data.IIdentity | null;
    isLoggedIn: boolean;
}
export type IAdminBootstrapStatus = interfaces.requests.IReq_GetAdminBootstrapStatus['response'];
export interface IStatsState {
    serverStats: interfaces.data.IServerStats | null;
    emailStats: interfaces.data.IEmailStats | null;
    dnsStats: interfaces.data.IDnsStats | null;
    securityMetrics: interfaces.data.ISecurityMetrics | null;
    radiusStats: interfaces.data.IRadiusStats | null;
    vpnStats: interfaces.data.IVpnStats | null;
    lastUpdated: number;
    isLoading: boolean;
    error: string | null;
}
export interface IConfigState {
    config: interfaces.requests.IConfigData | null;
    isLoading: boolean;
    error: string | null;
}
export interface IUiState {
    activeView: string;
    activeSubview: string | null;
    sidebarCollapsed: boolean;
    autoRefresh: boolean;
    refreshInterval: number;
    theme: 'light' | 'dark';
}
export interface ILogState {
    recentLogs: interfaces.data.ILogEntry[];
    isStreaming: boolean;
    filters: {
        level?: string[];
        category?: string[];
    };
}
export interface INetworkState {
    connections: interfaces.data.IConnectionInfo[];
    connectionsByIP: {
        [ip: string]: number;
    };
    throughputRate: {
        bytesInPerSecond: number;
        bytesOutPerSecond: number;
    };
    totalBytes: {
        in: number;
        out: number;
    };
    topIPs: Array<{
        ip: string;
        count: number;
    }>;
    topIPsByBandwidth: Array<{
        ip: string;
        count: number;
        bwIn: number;
        bwOut: number;
    }>;
    topASNs: interfaces.data.IAsnActivity[];
    throughputByIP: Array<{
        ip: string;
        in: number;
        out: number;
    }>;
    ipIntelligence: interfaces.data.IIpIntelligenceRecord[];
    domainActivity: interfaces.data.IDomainActivity[];
    throughputHistory: Array<{
        timestamp: number;
        in: number;
        out: number;
    }>;
    requestsPerSecond: number;
    requestsTotal: number;
    backends: interfaces.data.IBackendInfo[];
    frontendProtocols: interfaces.data.IProtocolDistribution | null;
    backendProtocols: interfaces.data.IProtocolDistribution | null;
    lastUpdated: number;
    isLoading: boolean;
    error: string | null;
}
export interface ISecurityPolicyState {
    rules: interfaces.data.ISecurityBlockRule[];
    ipIntelligence: interfaces.data.IIpIntelligenceRecord[];
    compiledPolicy: interfaces.data.ISecurityCompiledPolicy | null;
    auditEvents: interfaces.data.ISecurityPolicyAuditEvent[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export interface ICertificateState {
    certificates: interfaces.requests.ICertificateInfo[];
    summary: {
        total: number;
        valid: number;
        expiring: number;
        expired: number;
        failed: number;
        unknown: number;
    };
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export interface IEmailOpsState {
    emails: interfaces.requests.IEmail[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const loginStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, ILoginState>;
export declare const statsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IStatsState>;
export declare const configStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IConfigState>;
export declare const uiStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IUiState>;
export declare const logStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, ILogState>;
export declare const networkStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, INetworkState>;
export declare const securityPolicyStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, ISecurityPolicyState>;
export declare const emailOpsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IEmailOpsState>;
export declare const certificateStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, ICertificateState>;
export interface IAcmeConfigState {
    config: interfaces.data.IAcmeConfig | null;
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const acmeConfigStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IAcmeConfigState>;
export interface IRemoteIngressState {
    edges: interfaces.data.IRemoteIngress[];
    statuses: interfaces.data.IRemoteIngressStatus[];
    hubSettings: interfaces.data.IRemoteIngressHubSettings | null;
    selectedEdgeId: string | null;
    newEdgeId: string | null;
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const remoteIngressStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRemoteIngressState>;
export interface IRouteManagementState {
    mergedRoutes: interfaces.data.IMergedRoute[];
    warnings: interfaces.data.IRouteWarning[];
    httpRedirects: interfaces.data.IHttpRedirectInfo[];
    apiTokens: interfaces.data.IApiTokenInfo[];
    gatewayClients: interfaces.data.IGatewayClient[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const routeManagementStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IRouteManagementState>;
export interface IUser {
    id: string;
    username: string;
    email?: string;
    name?: string;
    role: string;
    status?: 'active' | 'disabled';
    authSources?: Array<'local' | 'idp.global'>;
}
export interface IUsersState {
    users: IUser[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const usersStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IUsersState>;
export declare const loginAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, {
    username: string;
    password: string;
    authSource?: interfaces.requests.TAdminLoginAuthSource;
}>;
export declare function getAdminBootstrapStatus(): Promise<IAdminBootstrapStatus>;
export declare function createInitialAdminUser(optionsArg: {
    email: string;
    name?: string;
    password: string;
    enableIdpGlobalAuth?: boolean;
}): Promise<{
    success: boolean;
    identity?: interfaces.data.IIdentity;
    user?: interfaces.requests.IAdminUserProjection;
}>;
export declare const logoutAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILoginState, unknown>;
export declare const fetchAllStatsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IStatsState, unknown>;
export declare const fetchConfigurationAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IConfigState, unknown>;
export declare const fetchRecentLogsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ILogState, {
    limit?: number;
    level?: "debug" | "info" | "warn" | "error";
    category?: "smtp" | "dns" | "security" | "system" | "email";
}>;
export declare const toggleAutoRefreshAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUiState, unknown>;
export declare const setActiveViewAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUiState, string>;
export declare const fetchNetworkStatsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<INetworkState, unknown>;
export declare const fetchSecurityPolicyAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ISecurityPolicyState, unknown>;
export declare const createSecurityBlockRuleAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ISecurityPolicyState, {
    type: interfaces.data.TSecurityBlockRuleType;
    value: string;
    matchMode?: interfaces.data.TSecurityBlockRuleMatchMode;
    reason?: string;
    enabled?: boolean;
}>;
export declare const updateSecurityBlockRuleAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ISecurityPolicyState, {
    id: string;
    value?: string;
    matchMode?: interfaces.data.TSecurityBlockRuleMatchMode;
    reason?: string;
    enabled?: boolean;
}>;
export declare const deleteSecurityBlockRuleAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ISecurityPolicyState, string>;
export declare const refreshIpIntelligenceAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ISecurityPolicyState, string>;
export declare const fetchAllEmailsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailOpsState, unknown>;
export declare const fetchCertificateOverviewAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ICertificateState, unknown>;
export declare const reprovisionCertificateAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ICertificateState, {
    domain: string;
    forceRenew?: boolean;
}>;
export declare const deleteCertificateAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ICertificateState, string>;
export declare const importCertificateAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ICertificateState, {
    id: string;
    domainName: string;
    created: number;
    validUntil: number;
    privateKey: string;
    publicKey: string;
    csr: string;
}>;
export declare function fetchCertificateExport(domain: string): Promise<{
    success: boolean;
    cert?: {
        id: string;
        domainName: string;
        created: number;
        validUntil: number;
        privateKey: string;
        publicKey: string;
        csr: string;
    };
    message?: string;
}>;
export declare function fetchConnectionToken(edgeId: string): Promise<{
    success: boolean;
    token?: string;
    message?: string;
}>;
export declare const fetchRemoteIngressAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, unknown>;
export declare const createRemoteIngressAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, {
    name: string;
    listenPorts?: number[];
    autoDerivePorts?: boolean;
    performance?: interfaces.data.IRemoteIngressPerformanceConfig;
    tags?: string[];
}>;
export declare const deleteRemoteIngressAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, string>;
export declare const updateRemoteIngressAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, {
    id: string;
    name?: string;
    listenPorts?: number[];
    autoDerivePorts?: boolean;
    performance?: interfaces.data.IRemoteIngressPerformanceConfig;
    tags?: string[];
}>;
export declare const updateRemoteIngressHubSettingsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, {
    enabled?: boolean;
    tunnelPort?: number;
    hubDomain?: string | null;
    performance?: interfaces.data.IRemoteIngressPerformanceConfig | null;
}>;
export declare const regenerateRemoteIngressSecretAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, string>;
export declare const clearNewEdgeIdAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, unknown>;
export declare const toggleRemoteIngressAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRemoteIngressState, {
    id: string;
    enabled: boolean;
}>;
export interface IVpnState {
    clients: interfaces.data.IVpnClient[];
    connectedClients: interfaces.data.IVpnConnectedClient[];
    status: interfaces.data.IVpnServerStatus | null;
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
    /** WireGuard config shown after create/rotate (only shown once) */
    newClientConfig: string | null;
}
export declare const vpnStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IVpnState>;
export declare const fetchVpnAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, unknown>;
export declare const createVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, {
    clientId: string;
    targetProfileIds?: string[];
    description?: string;
    destinationAllowList?: string[];
    destinationBlockList?: string[];
    useHostIp?: boolean;
    useDhcp?: boolean;
    staticIp?: string;
    forceVlan?: boolean;
    vlanId?: number;
}>;
export declare const deleteVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, string>;
export declare const toggleVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, {
    clientId: string;
    enabled: boolean;
}>;
export declare const updateVpnClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, {
    clientId: string;
    description?: string;
    targetProfileIds?: string[];
    destinationAllowList?: string[];
    destinationBlockList?: string[];
    useHostIp?: boolean;
    useDhcp?: boolean;
    staticIp?: string;
    forceVlan?: boolean;
    vlanId?: number;
}>;
export declare const clearNewClientConfigAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IVpnState, unknown>;
export interface ITargetProfilesState {
    profiles: interfaces.data.ITargetProfile[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const targetProfilesStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, ITargetProfilesState>;
export declare const fetchTargetProfilesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ITargetProfilesState, unknown>;
export declare const createTargetProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ITargetProfilesState, {
    name: string;
    description?: string;
    domains?: string[];
    targets?: Array<{
        ip: string;
        port: number;
    }>;
    routeRefs?: string[];
    allowRoutesByClientSourceIp?: boolean;
}>;
export declare const updateTargetProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ITargetProfilesState, {
    id: string;
    name?: string;
    description?: string;
    domains?: string[];
    targets?: Array<{
        ip: string;
        port: number;
    }>;
    routeRefs?: string[];
    allowRoutesByClientSourceIp?: boolean;
}>;
export declare const deleteTargetProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<ITargetProfilesState, {
    id: string;
    force?: boolean;
}>;
export interface IProfilesTargetsState {
    profiles: interfaces.data.ISourceProfile[];
    targets: interfaces.data.INetworkTarget[];
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const profilesTargetsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IProfilesTargetsState>;
export declare const fetchProfilesAndTargetsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, unknown>;
export declare const createProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    name: string;
    description?: string;
    security: any;
    extendsProfiles?: string[];
}>;
export declare const updateProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    id: string;
    name?: string;
    description?: string;
    security?: any;
    extendsProfiles?: string[];
}>;
export declare const deleteProfileAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    id: string;
    force?: boolean;
}>;
export declare const createTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    name: string;
    description?: string;
    host: string | string[];
    port: number;
}>;
export declare const updateTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    id: string;
    name?: string;
    description?: string;
    host?: string | string[];
    port?: number;
}>;
export declare const deleteTargetAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IProfilesTargetsState, {
    id: string;
    force?: boolean;
}>;
export interface IDomainsState {
    providers: interfaces.data.IDnsProviderPublic[];
    domains: interfaces.data.IDomain[];
    records: interfaces.data.IDnsRecord[];
    /** id of the currently-selected domain in the DNS records subview. */
    selectedDomainId: string | null;
    isLoading: boolean;
    error: string | null;
    lastUpdated: number;
}
export declare const domainsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IDomainsState>;
export declare const fetchDomainsAndProvidersAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, unknown>;
export declare const fetchDnsRecordsForDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    domainId: string;
}>;
export declare const createDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    name: string;
    type: interfaces.data.TDnsProviderType;
    credentials: interfaces.data.TDnsProviderCredentials;
}>;
export declare const updateDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
    name?: string;
    credentials?: interfaces.data.TDnsProviderCredentials;
}>;
export declare const deleteDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
    force?: boolean;
}>;
export declare const testDnsProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
}>;
/** One-shot fetch for the import-domain modal. Does NOT modify state. */
export declare function fetchProviderDomains(providerId: string): Promise<{
    success: boolean;
    domains?: interfaces.data.IProviderDomainListing[];
    message?: string;
}>;
export declare const createDcrouterDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    name: string;
    description?: string;
}>;
export declare const importDomainsFromProviderAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    providerId: string;
    domainNames: string[];
}>;
export declare const deleteDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
}>;
export declare const syncDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
}>;
export declare const migrateDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
    targetSource: interfaces.data.TDomainSource;
    targetProviderId?: string;
    deleteExistingProviderRecords?: boolean;
}>;
export declare const createDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    domainId: string;
    name: string;
    type: interfaces.data.TDnsRecordType;
    value: string;
    ttl?: number;
    proxied?: boolean;
}>;
export declare const updateDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
    domainId: string;
    name?: string;
    value?: string;
    ttl?: number;
    proxied?: boolean;
}>;
export declare const deleteDnsRecordAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IDomainsState, {
    id: string;
    domainId: string;
}>;
export declare const fetchAcmeConfigAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IAcmeConfigState, unknown>;
export declare const updateAcmeConfigAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IAcmeConfigState, {
    accountEmail?: string;
    enabled?: boolean;
    useProduction?: boolean;
    autoRenew?: boolean;
    renewThresholdDays?: number;
}>;
export declare const fetchMergedRoutesAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const fetchHttpRedirectsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const createRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    route: any;
    enabled?: boolean;
    metadata?: any;
}>;
export declare const updateRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    route?: any;
    enabled?: boolean;
    metadata?: any;
}>;
export declare const deleteRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare const toggleRouteAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    enabled: boolean;
}>;
export declare const fetchApiTokensAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare const fetchGatewayClientsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, unknown>;
export declare function createGatewayClient(data: {
    id?: string;
    type: interfaces.data.IGatewayClient['type'];
    name: string;
    description?: string;
    hostnamePatterns?: string[];
    allowedRouteTargets?: interfaces.data.IGatewayClient['allowedRouteTargets'];
}): Promise<{
    success: boolean;
    gatewayClient?: interfaces.data.IGatewayClient;
    message?: string;
}>;
export declare const updateGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    name?: string;
    description?: string;
    hostnamePatterns?: string[];
    allowedRouteTargets?: interfaces.data.IGatewayClient["allowedRouteTargets"];
    enabled?: boolean;
}>;
export declare const deleteGatewayClientAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare function createGatewayClientToken(gatewayClientId: string, name?: string, expiresInDays?: number | null): Promise<{
    success: boolean;
    tokenId?: string;
    tokenValue?: string;
    message?: string;
}>;
export declare const fetchUsersAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUsersState, unknown>;
export declare const createUserAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUsersState, {
    email: string;
    name?: string;
    role: interfaces.requests.TUserManagementRole;
    password: string;
    enableIdpGlobalAuth?: boolean;
}>;
export declare const deleteUserAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IUsersState, string>;
export declare function createApiToken(name: string, scopes: interfaces.data.TApiTokenScope[], expiresInDays?: number | null, policy?: any): Promise<{
    success: boolean;
    tokenId?: string;
    tokenValue?: string;
    message?: string;
}>;
export declare function rollApiToken(id: string): Promise<{
    success: boolean;
    tokenValue?: string;
    message?: string;
}>;
export declare const revokeApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, string>;
export declare const toggleApiTokenAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IRouteManagementState, {
    id: string;
    enabled: boolean;
}>;
export interface IEmailDomainsState {
    domains: interfaces.data.IEmailDomain[];
    settings: interfaces.data.IEmailServerSettings | null;
    isLoading: boolean;
    lastUpdated: number;
}
export declare const emailDomainsStatePart: plugins.deesElement.domtools.plugins.smartstate.StatePart<string, IEmailDomainsState>;
export declare const fetchEmailDomainsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, unknown>;
export declare const createEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, {
    linkedDomainId: string;
    subdomain?: string;
    dkimSelector?: string;
    dkimKeySize?: number;
    rotateKeys?: boolean;
    rotationIntervalDays?: number;
}>;
export declare const updateEmailServerSettingsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, interfaces.data.TEmailServerSettingsUpdate>;
export declare const deleteEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, string>;
export declare const validateEmailDomainAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, string>;
export declare const provisionEmailDomainDnsAction: plugins.deesElement.domtools.plugins.smartstate.StateAction<IEmailDomainsState, string>;
export declare function fetchEmailDomainDnsRecords(id: string): Promise<{
    records: interfaces.data.IEmailDnsRecord[];
}>;
