/**
 * @license
 * Copyright 2025 Steven Roussey <sroussey@gmail.com>
 * SPDX-License-Identifier: Apache-2.0
 */
import type { ColorObject } from "@workglow/util/media";
import type { JsonSchema } from "@workglow/util/schema";
import { FromSchema } from "@workglow/util/schema";
export declare const ColorSchema: (annotations?: Record<string, unknown>) => {
    readonly type: "object";
    readonly properties: {
        readonly r: {
            readonly type: "integer";
            readonly minimum: 0;
            readonly maximum: 255;
            readonly title: "Red";
        };
        readonly g: {
            readonly type: "integer";
            readonly minimum: 0;
            readonly maximum: 255;
            readonly title: "Green";
        };
        readonly b: {
            readonly type: "integer";
            readonly minimum: 0;
            readonly maximum: 255;
            readonly title: "Blue";
        };
        readonly a: {
            readonly type: "integer";
            readonly minimum: 0;
            readonly maximum: 255;
            readonly title: "Alpha";
            readonly default: 255;
        };
    };
    readonly required: readonly ["r", "g", "b"];
    readonly format: "color";
    readonly additionalProperties: false;
};
export declare const HexColorSchema: (annotations?: Record<string, unknown>) => {
    readonly type: "string";
    readonly format: "color";
    readonly pattern: "^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$";
    readonly title: "Color (hex)";
    readonly description: "Color as a `#RRGGBB[AA]` or `#RGB[A]` hex string";
};
export declare const CssRgbColorSchema: (annotations?: Record<string, unknown>) => {
    readonly type: "string";
    readonly format: "color";
    readonly pattern: string;
    readonly title: "Color (RGB)";
    readonly description: "Color as a CSS `rgb(r,g,b)` or `rgba(r,g,b,a)` string";
};
/** Accept a {@link ColorObject}, hex string, or CSS `rgb(...)` / `rgba(...)` string. */
export declare const ColorValueSchema: (annotations?: Record<string, unknown>) => {
    readonly oneOf: readonly [{
        readonly type: "object";
        readonly properties: {
            readonly r: {
                readonly type: "integer";
                readonly minimum: 0;
                readonly maximum: 255;
                readonly title: "Red";
            };
            readonly g: {
                readonly type: "integer";
                readonly minimum: 0;
                readonly maximum: 255;
                readonly title: "Green";
            };
            readonly b: {
                readonly type: "integer";
                readonly minimum: 0;
                readonly maximum: 255;
                readonly title: "Blue";
            };
            readonly a: {
                readonly type: "integer";
                readonly minimum: 0;
                readonly maximum: 255;
                readonly title: "Alpha";
                readonly default: 255;
            };
        };
        readonly required: readonly ["r", "g", "b"];
        readonly format: "color";
        readonly additionalProperties: false;
    }, {
        readonly type: "string";
        readonly format: "color";
        readonly pattern: "^#([0-9a-fA-F]{3,4}|[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$";
        readonly title: "Color (hex)";
        readonly description: "Color as a `#RRGGBB[AA]` or `#RGB[A]` hex string";
    }, {
        readonly type: "string";
        readonly format: "color";
        readonly pattern: string;
        readonly title: "Color (RGB)";
        readonly description: "Color as a CSS `rgb(r,g,b)` or `rgba(r,g,b,a)` string";
    }];
};
export declare const ColorFromSchemaOptions: {
    readonly parseNotKeyword: true;
    readonly parseIfThenElseKeywords: true;
    readonly keepDefaultedPropertiesOptional: true;
    readonly references: false;
    readonly deserialize: [{
        readonly pattern: {
            readonly type: "object";
            readonly format: "color";
        };
        readonly output: ColorObject;
    }];
};
export type ColorFromSchemaOptions = typeof ColorFromSchemaOptions;
export type ColorFromSchema<SCHEMA extends JsonSchema> = FromSchema<SCHEMA, ColorFromSchemaOptions>;
//# sourceMappingURL=ImageSchemas.d.ts.map