import _m0 from 'protobufjs/minimal';
export declare const protobufPackage = "yandex.cloud.ai.foundation_models.v1.image_generation";
/** The text descriptions and weights that the model uses to generate an image. */
export interface Message {
    /** Text describing the image. */
    text: string;
    /** Message weight. Negative values indicate negative messages. */
    weight: number;
}
export interface AspectRatio {
    /** Weight of width in image. */
    widthRatio: number;
    /** Weight of height in image. */
    heightRatio: number;
}
export interface ImageGenerationOptions {
    /**
     * The [MIME type](https://en.wikipedia.org/wiki/Media_type) of generated image format.
     * For possible specifications, see [documentation](/docs/foundation-models/concepts).
     */
    mimeType: string;
    /** Seed for image generation. It serves as a starting point for image generation from noise. */
    seed: number;
    /** Aspect ratio of generated image. */
    aspectRatio?: AspectRatio;
}
export declare const Message: {
    encode(message: Message, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): Message;
    fromJSON(object: any): Message;
    toJSON(message: Message): unknown;
    fromPartial<I extends {
        text?: string | undefined;
        weight?: number | undefined;
    } & {
        text?: string | undefined;
        weight?: number | undefined;
    } & Record<Exclude<keyof I, keyof Message>, never>>(object: I): Message;
};
export declare const AspectRatio: {
    encode(message: AspectRatio, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): AspectRatio;
    fromJSON(object: any): AspectRatio;
    toJSON(message: AspectRatio): unknown;
    fromPartial<I extends {
        widthRatio?: number | undefined;
        heightRatio?: number | undefined;
    } & {
        widthRatio?: number | undefined;
        heightRatio?: number | undefined;
    } & Record<Exclude<keyof I, keyof AspectRatio>, never>>(object: I): AspectRatio;
};
export declare const ImageGenerationOptions: {
    encode(message: ImageGenerationOptions, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ImageGenerationOptions;
    fromJSON(object: any): ImageGenerationOptions;
    toJSON(message: ImageGenerationOptions): unknown;
    fromPartial<I extends {
        mimeType?: string | undefined;
        seed?: number | undefined;
        aspectRatio?: {
            widthRatio?: number | undefined;
            heightRatio?: number | undefined;
        } | undefined;
    } & {
        mimeType?: string | undefined;
        seed?: number | undefined;
        aspectRatio?: ({
            widthRatio?: number | undefined;
            heightRatio?: number | undefined;
        } & {
            widthRatio?: number | undefined;
            heightRatio?: number | undefined;
        } & Record<Exclude<keyof I["aspectRatio"], keyof AspectRatio>, never>) | undefined;
    } & Record<Exclude<keyof I, keyof ImageGenerationOptions>, never>>(object: I): ImageGenerationOptions;
};
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & Record<Exclude<keyof I, KeysOfUnion<P>>, never>;
export {};
