import * as z from "zod";
import { ClosedEnum } from "../../types/enums.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
export type TextGlobals = {
    /**
     * The cloud name of your product environment.
     */
    cloudName?: string | undefined;
};
/**
 * The type of resource to create. Must be "image" for text generation.
 */
export declare const TextResourceType: {
    readonly Image: "image";
};
/**
 * The type of resource to create. Must be "image" for text generation.
 */
export type TextResourceType = ClosedEnum<typeof TextResourceType>;
/**
 * Text alignment (left, center, right, justify).
 */
export declare const TextAlign: {
    readonly Left: "left";
    readonly Center: "center";
    readonly Right: "right";
    readonly Justify: "justify";
};
/**
 * Text alignment (left, center, right, justify).
 */
export type TextAlign = ClosedEnum<typeof TextAlign>;
/**
 * Whether to use a normal or bold font.
 */
export declare const FontWeight: {
    readonly Normal: "normal";
    readonly Bold: "bold";
};
/**
 * Whether to use a normal or bold font.
 */
export type FontWeight = ClosedEnum<typeof FontWeight>;
/**
 * Whether to use a normal or italic font.
 */
export declare const FontStyle: {
    readonly Normal: "normal";
    readonly Italic: "italic";
};
/**
 * Whether to use a normal or italic font.
 */
export type FontStyle = ClosedEnum<typeof FontStyle>;
/**
 * Text decoration style.
 */
export declare const TextDecoration: {
    readonly None: "none";
    readonly Underline: "underline";
};
/**
 * Text decoration style.
 */
export type TextDecoration = ClosedEnum<typeof TextDecoration>;
export type TextRequestBody = {
    /**
     * The text string to generate an image for.
     */
    text: string;
    /**
     * The identifier that is used for accessing the generated image. If not specified, a unique identifier is generated.
     */
    publicId?: string | undefined;
    /**
     * The name of the font family.
     */
    fontFamily?: string | undefined;
    /**
     * Font size in points.
     */
    fontSize?: number | undefined;
    /**
     * Name or RGB representation of the font's color (e.g., red or
     */
    fontColor?: string | undefined;
    /**
     * Text alignment (left, center, right, justify).
     */
    textAlign?: TextAlign | undefined;
    /**
     * Whether to use a normal or bold font.
     */
    fontWeight?: FontWeight | undefined;
    /**
     * Whether to use a normal or italic font.
     */
    fontStyle?: FontStyle | undefined;
    /**
     * Name or RGB representation of the background color (e.g., red or
     */
    background?: string | undefined;
    /**
     * Text opacity value between 0 (invisible) and 100.
     */
    opacity?: number | undefined;
    /**
     * Text decoration style.
     */
    textDecoration?: TextDecoration | undefined;
    /**
     * The spacing between lines of text in pixels.
     */
    lineSpacing?: number | undefined;
};
export type TextRequest = {
    /**
     * The type of resource to create. Must be "image" for text generation.
     */
    resourceType: TextResourceType;
    requestBody: TextRequestBody;
};
export type AccessControl = {};
export type Region = {};
/**
 * Moderation information for the asset.
 */
export type TextModeration = {};
/**
 * Additional information about the asset.
 */
export type Info = {};
/**
 * Text image created successfully
 */
export type TextResponse = {
    /**
     * The unique identifier of the asset.
     */
    assetId: string;
    /**
     * The public identifier of the asset.
     */
    publicId: string;
    /**
     * The version number of the asset.
     */
    version: number;
    /**
     * The version identifier of the asset.
     */
    versionId: string;
    /**
     * The signature for the asset.
     */
    signature: string;
    /**
     * The width of the generated image in pixels.
     */
    width: number;
    /**
     * The height of the generated image in pixels.
     */
    height: number;
    /**
     * The format of the generated image.
     */
    format: string;
    /**
     * The type of resource (image).
     */
    resourceType: string;
    /**
     * The creation timestamp.
     */
    createdAt: Date;
    /**
     * Array of tags assigned to the asset.
     */
    tags?: Array<string> | undefined;
    /**
     * Number of pages in the asset.
     */
    pages?: number | undefined;
    /**
     * Size of the asset in bytes.
     */
    bytes: number;
    /**
     * The storage type of the asset.
     */
    type: string;
    /**
     * The ETag of the asset.
     */
    etag?: string | undefined;
    /**
     * Whether the asset is a placeholder.
     */
    placeholder?: boolean | undefined;
    /**
     * The HTTP URL for accessing the asset.
     */
    url: string;
    /**
     * The HTTPS URL for accessing the asset.
     */
    secureUrl: string;
    /**
     * The display name of the asset.
     */
    displayName?: string | undefined;
    /**
     * The access mode of the asset.
     */
    accessMode?: string | undefined;
    /**
     * Access control settings for the asset.
     */
    accessControl?: Array<AccessControl> | undefined;
    /**
     * Region information for the asset.
     */
    regions?: Array<Region> | undefined;
    /**
     * Moderation information for the asset.
     */
    moderation?: TextModeration | undefined;
    /**
     * Additional information about the asset.
     */
    info?: Info | undefined;
};
/** @internal */
export declare const TextGlobals$inboundSchema: z.ZodType<TextGlobals, z.ZodTypeDef, unknown>;
/** @internal */
export type TextGlobals$Outbound = {
    cloud_name?: string | undefined;
};
/** @internal */
export declare const TextGlobals$outboundSchema: z.ZodType<TextGlobals$Outbound, z.ZodTypeDef, TextGlobals>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextGlobals$ {
    /** @deprecated use `TextGlobals$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TextGlobals, z.ZodTypeDef, unknown>;
    /** @deprecated use `TextGlobals$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TextGlobals$Outbound, z.ZodTypeDef, TextGlobals>;
    /** @deprecated use `TextGlobals$Outbound` instead. */
    type Outbound = TextGlobals$Outbound;
}
export declare function textGlobalsToJSON(textGlobals: TextGlobals): string;
export declare function textGlobalsFromJSON(jsonString: string): SafeParseResult<TextGlobals, SDKValidationError>;
/** @internal */
export declare const TextResourceType$inboundSchema: z.ZodNativeEnum<typeof TextResourceType>;
/** @internal */
export declare const TextResourceType$outboundSchema: z.ZodNativeEnum<typeof TextResourceType>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextResourceType$ {
    /** @deprecated use `TextResourceType$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
    }>;
    /** @deprecated use `TextResourceType$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Image: "image";
    }>;
}
/** @internal */
export declare const TextAlign$inboundSchema: z.ZodNativeEnum<typeof TextAlign>;
/** @internal */
export declare const TextAlign$outboundSchema: z.ZodNativeEnum<typeof TextAlign>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextAlign$ {
    /** @deprecated use `TextAlign$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Left: "left";
        readonly Center: "center";
        readonly Right: "right";
        readonly Justify: "justify";
    }>;
    /** @deprecated use `TextAlign$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Left: "left";
        readonly Center: "center";
        readonly Right: "right";
        readonly Justify: "justify";
    }>;
}
/** @internal */
export declare const FontWeight$inboundSchema: z.ZodNativeEnum<typeof FontWeight>;
/** @internal */
export declare const FontWeight$outboundSchema: z.ZodNativeEnum<typeof FontWeight>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FontWeight$ {
    /** @deprecated use `FontWeight$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Normal: "normal";
        readonly Bold: "bold";
    }>;
    /** @deprecated use `FontWeight$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Normal: "normal";
        readonly Bold: "bold";
    }>;
}
/** @internal */
export declare const FontStyle$inboundSchema: z.ZodNativeEnum<typeof FontStyle>;
/** @internal */
export declare const FontStyle$outboundSchema: z.ZodNativeEnum<typeof FontStyle>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace FontStyle$ {
    /** @deprecated use `FontStyle$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly Normal: "normal";
        readonly Italic: "italic";
    }>;
    /** @deprecated use `FontStyle$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly Normal: "normal";
        readonly Italic: "italic";
    }>;
}
/** @internal */
export declare const TextDecoration$inboundSchema: z.ZodNativeEnum<typeof TextDecoration>;
/** @internal */
export declare const TextDecoration$outboundSchema: z.ZodNativeEnum<typeof TextDecoration>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextDecoration$ {
    /** @deprecated use `TextDecoration$inboundSchema` instead. */
    const inboundSchema: z.ZodNativeEnum<{
        readonly None: "none";
        readonly Underline: "underline";
    }>;
    /** @deprecated use `TextDecoration$outboundSchema` instead. */
    const outboundSchema: z.ZodNativeEnum<{
        readonly None: "none";
        readonly Underline: "underline";
    }>;
}
/** @internal */
export declare const TextRequestBody$inboundSchema: z.ZodType<TextRequestBody, z.ZodTypeDef, unknown>;
/** @internal */
export type TextRequestBody$Outbound = {
    text: string;
    public_id?: string | undefined;
    font_family?: string | undefined;
    font_size: number;
    font_color: string;
    text_align?: string | undefined;
    font_weight: string;
    font_style: string;
    background: string;
    opacity: number;
    text_decoration: string;
    line_spacing?: number | undefined;
};
/** @internal */
export declare const TextRequestBody$outboundSchema: z.ZodType<TextRequestBody$Outbound, z.ZodTypeDef, TextRequestBody>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextRequestBody$ {
    /** @deprecated use `TextRequestBody$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TextRequestBody, z.ZodTypeDef, unknown>;
    /** @deprecated use `TextRequestBody$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TextRequestBody$Outbound, z.ZodTypeDef, TextRequestBody>;
    /** @deprecated use `TextRequestBody$Outbound` instead. */
    type Outbound = TextRequestBody$Outbound;
}
export declare function textRequestBodyToJSON(textRequestBody: TextRequestBody): string;
export declare function textRequestBodyFromJSON(jsonString: string): SafeParseResult<TextRequestBody, SDKValidationError>;
/** @internal */
export declare const TextRequest$inboundSchema: z.ZodType<TextRequest, z.ZodTypeDef, unknown>;
/** @internal */
export type TextRequest$Outbound = {
    resource_type: string;
    RequestBody: TextRequestBody$Outbound;
};
/** @internal */
export declare const TextRequest$outboundSchema: z.ZodType<TextRequest$Outbound, z.ZodTypeDef, TextRequest>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextRequest$ {
    /** @deprecated use `TextRequest$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TextRequest, z.ZodTypeDef, unknown>;
    /** @deprecated use `TextRequest$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TextRequest$Outbound, z.ZodTypeDef, TextRequest>;
    /** @deprecated use `TextRequest$Outbound` instead. */
    type Outbound = TextRequest$Outbound;
}
export declare function textRequestToJSON(textRequest: TextRequest): string;
export declare function textRequestFromJSON(jsonString: string): SafeParseResult<TextRequest, SDKValidationError>;
/** @internal */
export declare const AccessControl$inboundSchema: z.ZodType<AccessControl, z.ZodTypeDef, unknown>;
/** @internal */
export type AccessControl$Outbound = {};
/** @internal */
export declare const AccessControl$outboundSchema: z.ZodType<AccessControl$Outbound, z.ZodTypeDef, AccessControl>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace AccessControl$ {
    /** @deprecated use `AccessControl$inboundSchema` instead. */
    const inboundSchema: z.ZodType<AccessControl, z.ZodTypeDef, unknown>;
    /** @deprecated use `AccessControl$outboundSchema` instead. */
    const outboundSchema: z.ZodType<AccessControl$Outbound, z.ZodTypeDef, AccessControl>;
    /** @deprecated use `AccessControl$Outbound` instead. */
    type Outbound = AccessControl$Outbound;
}
export declare function accessControlToJSON(accessControl: AccessControl): string;
export declare function accessControlFromJSON(jsonString: string): SafeParseResult<AccessControl, SDKValidationError>;
/** @internal */
export declare const Region$inboundSchema: z.ZodType<Region, z.ZodTypeDef, unknown>;
/** @internal */
export type Region$Outbound = {};
/** @internal */
export declare const Region$outboundSchema: z.ZodType<Region$Outbound, z.ZodTypeDef, Region>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Region$ {
    /** @deprecated use `Region$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Region, z.ZodTypeDef, unknown>;
    /** @deprecated use `Region$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Region$Outbound, z.ZodTypeDef, Region>;
    /** @deprecated use `Region$Outbound` instead. */
    type Outbound = Region$Outbound;
}
export declare function regionToJSON(region: Region): string;
export declare function regionFromJSON(jsonString: string): SafeParseResult<Region, SDKValidationError>;
/** @internal */
export declare const TextModeration$inboundSchema: z.ZodType<TextModeration, z.ZodTypeDef, unknown>;
/** @internal */
export type TextModeration$Outbound = {};
/** @internal */
export declare const TextModeration$outboundSchema: z.ZodType<TextModeration$Outbound, z.ZodTypeDef, TextModeration>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextModeration$ {
    /** @deprecated use `TextModeration$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TextModeration, z.ZodTypeDef, unknown>;
    /** @deprecated use `TextModeration$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TextModeration$Outbound, z.ZodTypeDef, TextModeration>;
    /** @deprecated use `TextModeration$Outbound` instead. */
    type Outbound = TextModeration$Outbound;
}
export declare function textModerationToJSON(textModeration: TextModeration): string;
export declare function textModerationFromJSON(jsonString: string): SafeParseResult<TextModeration, SDKValidationError>;
/** @internal */
export declare const Info$inboundSchema: z.ZodType<Info, z.ZodTypeDef, unknown>;
/** @internal */
export type Info$Outbound = {};
/** @internal */
export declare const Info$outboundSchema: z.ZodType<Info$Outbound, z.ZodTypeDef, Info>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace Info$ {
    /** @deprecated use `Info$inboundSchema` instead. */
    const inboundSchema: z.ZodType<Info, z.ZodTypeDef, unknown>;
    /** @deprecated use `Info$outboundSchema` instead. */
    const outboundSchema: z.ZodType<Info$Outbound, z.ZodTypeDef, Info>;
    /** @deprecated use `Info$Outbound` instead. */
    type Outbound = Info$Outbound;
}
export declare function infoToJSON(info: Info): string;
export declare function infoFromJSON(jsonString: string): SafeParseResult<Info, SDKValidationError>;
/** @internal */
export declare const TextResponse$inboundSchema: z.ZodType<TextResponse, z.ZodTypeDef, unknown>;
/** @internal */
export type TextResponse$Outbound = {
    asset_id: string;
    public_id: string;
    version: number;
    version_id: string;
    signature: string;
    width: number;
    height: number;
    format: string;
    resource_type: string;
    created_at: string;
    tags?: Array<string> | undefined;
    pages?: number | undefined;
    bytes: number;
    type: string;
    etag?: string | undefined;
    placeholder?: boolean | undefined;
    url: string;
    secure_url: string;
    display_name?: string | undefined;
    access_mode?: string | undefined;
    access_control?: Array<AccessControl$Outbound> | undefined;
    regions?: Array<Region$Outbound> | undefined;
    moderation?: TextModeration$Outbound | undefined;
    info?: Info$Outbound | undefined;
};
/** @internal */
export declare const TextResponse$outboundSchema: z.ZodType<TextResponse$Outbound, z.ZodTypeDef, TextResponse>;
/**
 * @internal
 * @deprecated This namespace will be removed in future versions. Use schemas and types that are exported directly from this module.
 */
export declare namespace TextResponse$ {
    /** @deprecated use `TextResponse$inboundSchema` instead. */
    const inboundSchema: z.ZodType<TextResponse, z.ZodTypeDef, unknown>;
    /** @deprecated use `TextResponse$outboundSchema` instead. */
    const outboundSchema: z.ZodType<TextResponse$Outbound, z.ZodTypeDef, TextResponse>;
    /** @deprecated use `TextResponse$Outbound` instead. */
    type Outbound = TextResponse$Outbound;
}
export declare function textResponseToJSON(textResponse: TextResponse): string;
export declare function textResponseFromJSON(jsonString: string): SafeParseResult<TextResponse, SDKValidationError>;
//# sourceMappingURL=text.d.ts.map