import { z } from 'zod';
export declare const NamecheapConfigSchema: z.ZodObject<{
    apiUser: z.ZodString;
    apiKey: z.ZodString;
    username: z.ZodString;
    clientIp: z.ZodOptional<z.ZodString>;
    sandbox: z.ZodDefault<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
    apiUser: string;
    apiKey: string;
    username: string;
    sandbox: boolean;
    clientIp?: string | undefined;
}, {
    apiUser: string;
    apiKey: string;
    username: string;
    clientIp?: string | undefined;
    sandbox?: boolean | undefined;
}>;
export type NamecheapConfig = z.infer<typeof NamecheapConfigSchema>;
export declare const DomainCheckResultSchema: z.ZodObject<{
    domain: z.ZodString;
    available: z.ZodBoolean;
    premium: z.ZodOptional<z.ZodBoolean>;
    price: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    domain: string;
    available: boolean;
    premium?: boolean | undefined;
    price?: string | undefined;
}, {
    domain: string;
    available: boolean;
    premium?: boolean | undefined;
    price?: string | undefined;
}>;
export type DomainCheckResult = z.infer<typeof DomainCheckResultSchema>;
export declare const DomainInfoSchema: z.ZodObject<{
    domain: z.ZodString;
    owner: z.ZodString;
    registrar: z.ZodString;
    created: z.ZodString;
    expires: z.ZodString;
    nameservers: z.ZodArray<z.ZodString, "many">;
}, "strip", z.ZodTypeAny, {
    domain: string;
    owner: string;
    registrar: string;
    created: string;
    expires: string;
    nameservers: string[];
}, {
    domain: string;
    owner: string;
    registrar: string;
    created: string;
    expires: string;
    nameservers: string[];
}>;
export type DomainInfo = z.infer<typeof DomainInfoSchema>;
export declare const DomainSuggestionSchema: z.ZodObject<{
    domain: z.ZodString;
    available: z.ZodBoolean;
    premium: z.ZodOptional<z.ZodBoolean>;
    price: z.ZodOptional<z.ZodString>;
    suggestion_type: z.ZodEnum<["exact", "prefix", "suffix", "alternate", "related"]>;
    score: z.ZodOptional<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    domain: string;
    available: boolean;
    suggestion_type: "exact" | "prefix" | "suffix" | "alternate" | "related";
    premium?: boolean | undefined;
    price?: string | undefined;
    score?: number | undefined;
}, {
    domain: string;
    available: boolean;
    suggestion_type: "exact" | "prefix" | "suffix" | "alternate" | "related";
    premium?: boolean | undefined;
    price?: string | undefined;
    score?: number | undefined;
}>;
export type DomainSuggestion = z.infer<typeof DomainSuggestionSchema>;
export declare const DomainSuggestionOptionsSchema: z.ZodObject<{
    keyword: z.ZodString;
    tlds: z.ZodDefault<z.ZodArray<z.ZodString, "many">>;
    maxSuggestions: z.ZodDefault<z.ZodNumber>;
    includeHyphens: z.ZodDefault<z.ZodBoolean>;
    includeNumbers: z.ZodDefault<z.ZodBoolean>;
    minLength: z.ZodDefault<z.ZodNumber>;
    maxLength: z.ZodDefault<z.ZodNumber>;
}, "strip", z.ZodTypeAny, {
    includeHyphens: boolean;
    includeNumbers: boolean;
    minLength: number;
    maxLength: number;
    keyword: string;
    tlds: string[];
    maxSuggestions: number;
}, {
    keyword: string;
    includeHyphens?: boolean | undefined;
    includeNumbers?: boolean | undefined;
    minLength?: number | undefined;
    maxLength?: number | undefined;
    tlds?: string[] | undefined;
    maxSuggestions?: number | undefined;
}>;
export type DomainSuggestionOptions = z.infer<typeof DomainSuggestionOptionsSchema>;
export declare const DomainListItemSchema: z.ZodObject<{
    domain: z.ZodString;
    id: z.ZodString;
    user: z.ZodString;
    created: z.ZodString;
    expires: z.ZodString;
    isExpired: z.ZodBoolean;
    isLocked: z.ZodBoolean;
    autoRenew: z.ZodBoolean;
    whoisGuard: z.ZodString;
}, "strip", z.ZodTypeAny, {
    domain: string;
    created: string;
    expires: string;
    id: string;
    user: string;
    isExpired: boolean;
    isLocked: boolean;
    autoRenew: boolean;
    whoisGuard: string;
}, {
    domain: string;
    created: string;
    expires: string;
    id: string;
    user: string;
    isExpired: boolean;
    isLocked: boolean;
    autoRenew: boolean;
    whoisGuard: string;
}>;
export type DomainListItem = z.infer<typeof DomainListItemSchema>;
export declare const DomainListResponseSchema: z.ZodObject<{
    domains: z.ZodArray<z.ZodObject<{
        domain: z.ZodString;
        id: z.ZodString;
        user: z.ZodString;
        created: z.ZodString;
        expires: z.ZodString;
        isExpired: z.ZodBoolean;
        isLocked: z.ZodBoolean;
        autoRenew: z.ZodBoolean;
        whoisGuard: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        domain: string;
        created: string;
        expires: string;
        id: string;
        user: string;
        isExpired: boolean;
        isLocked: boolean;
        autoRenew: boolean;
        whoisGuard: string;
    }, {
        domain: string;
        created: string;
        expires: string;
        id: string;
        user: string;
        isExpired: boolean;
        isLocked: boolean;
        autoRenew: boolean;
        whoisGuard: string;
    }>, "many">;
    paging: z.ZodObject<{
        totalItems: z.ZodNumber;
        currentPage: z.ZodNumber;
        pageSize: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        totalItems: number;
        currentPage: number;
        pageSize: number;
    }, {
        totalItems: number;
        currentPage: number;
        pageSize: number;
    }>;
}, "strip", z.ZodTypeAny, {
    domains: {
        domain: string;
        created: string;
        expires: string;
        id: string;
        user: string;
        isExpired: boolean;
        isLocked: boolean;
        autoRenew: boolean;
        whoisGuard: string;
    }[];
    paging: {
        totalItems: number;
        currentPage: number;
        pageSize: number;
    };
}, {
    domains: {
        domain: string;
        created: string;
        expires: string;
        id: string;
        user: string;
        isExpired: boolean;
        isLocked: boolean;
        autoRenew: boolean;
        whoisGuard: string;
    }[];
    paging: {
        totalItems: number;
        currentPage: number;
        pageSize: number;
    };
}>;
export type DomainListResponse = z.infer<typeof DomainListResponseSchema>;
export declare const DomainListOptionsSchema: z.ZodObject<{
    listType: z.ZodDefault<z.ZodOptional<z.ZodString>>;
    page: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    pageSize: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
    sortBy: z.ZodOptional<z.ZodEnum<["NAME", "NAME_DESC", "EXPIREDATE", "EXPIREDATE_DESC", "CREATEDATE", "CREATEDATE_DESC"]>>;
    searchTerm: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    pageSize: number;
    listType: string;
    page: number;
    sortBy?: "NAME" | "NAME_DESC" | "EXPIREDATE" | "EXPIREDATE_DESC" | "CREATEDATE" | "CREATEDATE_DESC" | undefined;
    searchTerm?: string | undefined;
}, {
    pageSize?: number | undefined;
    listType?: string | undefined;
    page?: number | undefined;
    sortBy?: "NAME" | "NAME_DESC" | "EXPIREDATE" | "EXPIREDATE_DESC" | "CREATEDATE" | "CREATEDATE_DESC" | undefined;
    searchTerm?: string | undefined;
}>;
export type DomainListOptions = z.infer<typeof DomainListOptionsSchema>;
export declare const NamecheapResponseSchema: z.ZodObject<{
    Status: z.ZodString;
    Errors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
    CommandResponse: z.ZodAny;
}, "strip", z.ZodTypeAny, {
    Status: string;
    Errors?: string[] | undefined;
    CommandResponse?: any;
}, {
    Status: string;
    Errors?: string[] | undefined;
    CommandResponse?: any;
}>;
export type NamecheapResponse = z.infer<typeof NamecheapResponseSchema>;
export declare const DomainContactSchema: z.ZodObject<{
    OrganizationName: z.ZodOptional<z.ZodString>;
    FirstName: z.ZodString;
    LastName: z.ZodString;
    Address1: z.ZodString;
    Address2: z.ZodOptional<z.ZodString>;
    City: z.ZodString;
    StateProvince: z.ZodString;
    PostalCode: z.ZodString;
    Country: z.ZodString;
    Phone: z.ZodString;
    EmailAddress: z.ZodString;
}, "strip", z.ZodTypeAny, {
    FirstName: string;
    LastName: string;
    Address1: string;
    City: string;
    StateProvince: string;
    PostalCode: string;
    Country: string;
    Phone: string;
    EmailAddress: string;
    OrganizationName?: string | undefined;
    Address2?: string | undefined;
}, {
    FirstName: string;
    LastName: string;
    Address1: string;
    City: string;
    StateProvince: string;
    PostalCode: string;
    Country: string;
    Phone: string;
    EmailAddress: string;
    OrganizationName?: string | undefined;
    Address2?: string | undefined;
}>;
export type DomainContact = z.infer<typeof DomainContactSchema>;
export declare const DomainContactsSchema: z.ZodObject<{
    registrant: z.ZodObject<{
        OrganizationName: z.ZodOptional<z.ZodString>;
        FirstName: z.ZodString;
        LastName: z.ZodString;
        Address1: z.ZodString;
        Address2: z.ZodOptional<z.ZodString>;
        City: z.ZodString;
        StateProvince: z.ZodString;
        PostalCode: z.ZodString;
        Country: z.ZodString;
        Phone: z.ZodString;
        EmailAddress: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }>;
    tech: z.ZodObject<{
        OrganizationName: z.ZodOptional<z.ZodString>;
        FirstName: z.ZodString;
        LastName: z.ZodString;
        Address1: z.ZodString;
        Address2: z.ZodOptional<z.ZodString>;
        City: z.ZodString;
        StateProvince: z.ZodString;
        PostalCode: z.ZodString;
        Country: z.ZodString;
        Phone: z.ZodString;
        EmailAddress: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }>;
    admin: z.ZodObject<{
        OrganizationName: z.ZodOptional<z.ZodString>;
        FirstName: z.ZodString;
        LastName: z.ZodString;
        Address1: z.ZodString;
        Address2: z.ZodOptional<z.ZodString>;
        City: z.ZodString;
        StateProvince: z.ZodString;
        PostalCode: z.ZodString;
        Country: z.ZodString;
        Phone: z.ZodString;
        EmailAddress: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }>;
    auxBilling: z.ZodObject<{
        OrganizationName: z.ZodOptional<z.ZodString>;
        FirstName: z.ZodString;
        LastName: z.ZodString;
        Address1: z.ZodString;
        Address2: z.ZodOptional<z.ZodString>;
        City: z.ZodString;
        StateProvince: z.ZodString;
        PostalCode: z.ZodString;
        Country: z.ZodString;
        Phone: z.ZodString;
        EmailAddress: z.ZodString;
    }, "strip", z.ZodTypeAny, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }, {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    }>;
}, "strip", z.ZodTypeAny, {
    tech: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    registrant: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    admin: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    auxBilling: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
}, {
    tech: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    registrant: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    admin: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
    auxBilling: {
        FirstName: string;
        LastName: string;
        Address1: string;
        City: string;
        StateProvince: string;
        PostalCode: string;
        Country: string;
        Phone: string;
        EmailAddress: string;
        OrganizationName?: string | undefined;
        Address2?: string | undefined;
    };
}>;
export type DomainContacts = z.infer<typeof DomainContactsSchema>;
export declare const TldInfoSchema: z.ZodObject<{
    name: z.ZodString;
    nonRealTime: z.ZodOptional<z.ZodBoolean>;
    minRegisterYears: z.ZodOptional<z.ZodNumber>;
    maxRegisterYears: z.ZodOptional<z.ZodNumber>;
    minRenewYears: z.ZodOptional<z.ZodNumber>;
    maxRenewYears: z.ZodOptional<z.ZodNumber>;
    minTransferYears: z.ZodOptional<z.ZodNumber>;
    maxTransferYears: z.ZodOptional<z.ZodNumber>;
    isApiRegisterable: z.ZodOptional<z.ZodBoolean>;
    isApiRenewable: z.ZodOptional<z.ZodBoolean>;
    isApiTransferrable: z.ZodOptional<z.ZodBoolean>;
    isEppRequired: z.ZodOptional<z.ZodBoolean>;
    isDisableModContact: z.ZodOptional<z.ZodBoolean>;
    isDisableWGAllot: z.ZodOptional<z.ZodBoolean>;
    isIncludeInExtendedSearchOnly: z.ZodOptional<z.ZodBoolean>;
    categories: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
}, "strip", z.ZodTypeAny, {
    name: string;
    nonRealTime?: boolean | undefined;
    minRegisterYears?: number | undefined;
    maxRegisterYears?: number | undefined;
    minRenewYears?: number | undefined;
    maxRenewYears?: number | undefined;
    minTransferYears?: number | undefined;
    maxTransferYears?: number | undefined;
    isApiRegisterable?: boolean | undefined;
    isApiRenewable?: boolean | undefined;
    isApiTransferrable?: boolean | undefined;
    isEppRequired?: boolean | undefined;
    isDisableModContact?: boolean | undefined;
    isDisableWGAllot?: boolean | undefined;
    isIncludeInExtendedSearchOnly?: boolean | undefined;
    categories?: string[] | undefined;
}, {
    name: string;
    nonRealTime?: boolean | undefined;
    minRegisterYears?: number | undefined;
    maxRegisterYears?: number | undefined;
    minRenewYears?: number | undefined;
    maxRenewYears?: number | undefined;
    minTransferYears?: number | undefined;
    maxTransferYears?: number | undefined;
    isApiRegisterable?: boolean | undefined;
    isApiRenewable?: boolean | undefined;
    isApiTransferrable?: boolean | undefined;
    isEppRequired?: boolean | undefined;
    isDisableModContact?: boolean | undefined;
    isDisableWGAllot?: boolean | undefined;
    isIncludeInExtendedSearchOnly?: boolean | undefined;
    categories?: string[] | undefined;
}>;
export type TldInfo = z.infer<typeof TldInfoSchema>;
export declare const DomainLockStatusSchema: z.ZodObject<{
    domain: z.ZodString;
    registrarLock: z.ZodBoolean;
}, "strip", z.ZodTypeAny, {
    domain: string;
    registrarLock: boolean;
}, {
    domain: string;
    registrarLock: boolean;
}>;
export type DomainLockStatus = z.infer<typeof DomainLockStatusSchema>;
export declare const UserBalancesSchema: z.ZodObject<{
    availableBalance: z.ZodNumber;
    accountBalance: z.ZodNumber;
    earnedAmount: z.ZodNumber;
    withdrawableAmount: z.ZodNumber;
    fundsRequiredForAutoRenew: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    availableBalance: number;
    accountBalance: number;
    earnedAmount: number;
    withdrawableAmount: number;
    fundsRequiredForAutoRenew: number;
}, {
    availableBalance: number;
    accountBalance: number;
    earnedAmount: number;
    withdrawableAmount: number;
    fundsRequiredForAutoRenew: number;
}>;
export type UserBalances = z.infer<typeof UserBalancesSchema>;
export declare const ProductPricingSchema: z.ZodObject<{
    productType: z.ZodString;
    productCategory: z.ZodString;
    product: z.ZodString;
    duration: z.ZodNumber;
    durationType: z.ZodString;
    price: z.ZodNumber;
    regularPrice: z.ZodNumber;
    yourPrice: z.ZodNumber;
    promotionPrice: z.ZodOptional<z.ZodNumber>;
    currency: z.ZodString;
}, "strip", z.ZodTypeAny, {
    price: number;
    productType: string;
    productCategory: string;
    product: string;
    duration: number;
    durationType: string;
    regularPrice: number;
    yourPrice: number;
    currency: string;
    promotionPrice?: number | undefined;
}, {
    price: number;
    productType: string;
    productCategory: string;
    product: string;
    duration: number;
    durationType: string;
    regularPrice: number;
    yourPrice: number;
    currency: string;
    promotionPrice?: number | undefined;
}>;
export type ProductPricing = z.infer<typeof ProductPricingSchema>;
export declare const PricingOptionsSchema: z.ZodObject<{
    productType: z.ZodEnum<["DOMAIN", "SSL", "HOSTING", "WHOISGUARD"]>;
    productCategory: z.ZodOptional<z.ZodString>;
    promotionCode: z.ZodOptional<z.ZodString>;
    actionType: z.ZodOptional<z.ZodEnum<["REGISTER", "RENEW", "REACTIVATE", "TRANSFER"]>>;
    productName: z.ZodOptional<z.ZodString>;
}, "strip", z.ZodTypeAny, {
    productType: "DOMAIN" | "SSL" | "HOSTING" | "WHOISGUARD";
    productCategory?: string | undefined;
    promotionCode?: string | undefined;
    actionType?: "REGISTER" | "RENEW" | "REACTIVATE" | "TRANSFER" | undefined;
    productName?: string | undefined;
}, {
    productType: "DOMAIN" | "SSL" | "HOSTING" | "WHOISGUARD";
    productCategory?: string | undefined;
    promotionCode?: string | undefined;
    actionType?: "REGISTER" | "RENEW" | "REACTIVATE" | "TRANSFER" | undefined;
    productName?: string | undefined;
}>;
export type PricingOptions = z.infer<typeof PricingOptionsSchema>;
