import { bounds, scale } from "@synnaxlabs/x";
import { line } from '../../line/aether';
import { type AxisRenderProps, CoreAxis, coreAxisStateZ } from './axis';
import { rule } from '../../rule/aether';
export declare const yAxisStateZ: import("zod").ZodObject<{
    type: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["linear", "time"]>>>;
    color: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodType<import("../../../color/external").Color, import("zod").ZodTypeDef, import("../../../color/external").Color>, import("zod").ZodObject<{
        rgba255: import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>;
    }, "strip", import("zod").ZodTypeAny, {
        rgba255: [number, number, number, number];
    }, {
        rgba255: [number, number, number, number];
    }>]>, import("../../../color/external").Color, string | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    } | import("../../../color/external").Color | [number, number, number]>>;
    font: import("zod").ZodOptional<import("zod").ZodString>;
    label: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
    size: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
    bounds: import("zod").ZodOptional<import("zod").ZodObject<{
        lower: import("zod").ZodNumber;
        upper: import("zod").ZodNumber;
    }, "strip", import("zod").ZodTypeAny, {
        lower: number;
        upper: number;
    }, {
        lower: number;
        upper: number;
    }>>;
    tickSpacing: import("zod").ZodDefault<import("zod").ZodNumber>;
    showGrid: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    gridColor: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodType<import("../../../color/external").Color, import("zod").ZodTypeDef, import("../../../color/external").Color>, import("zod").ZodObject<{
        rgba255: import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>;
    }, "strip", import("zod").ZodTypeAny, {
        rgba255: [number, number, number, number];
    }, {
        rgba255: [number, number, number, number];
    }>]>, import("../../../color/external").Color, string | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    } | import("../../../color/external").Color | [number, number, number]>>;
    autoBounds: import("zod").ZodUnion<[import("zod").ZodObject<{
        lower: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        upper: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
    }, "strip", import("zod").ZodTypeAny, {
        lower: boolean;
        upper: boolean;
    }, {
        lower?: boolean | undefined;
        upper?: boolean | undefined;
    }>, import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>]>;
    autoBoundPadding: import("zod").ZodOptional<import("zod").ZodNumber>;
    autoBoundUpdateInterval: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodObject<{
        value: import("zod").ZodBigInt;
    }, "strip", import("zod").ZodTypeAny, {
        value: bigint;
    }, {
        value: bigint;
    }>, import("@synnaxlabs/x").TimeSpan, {
        value: bigint;
    }>, import("zod").ZodEffects<import("zod").ZodString, import("@synnaxlabs/x").TimeSpan, string>, import("zod").ZodEffects<import("zod").ZodType<Number, import("zod").ZodTypeDef, Number>, import("@synnaxlabs/x").TimeSpan, Number>, import("zod").ZodEffects<import("zod").ZodNumber, import("@synnaxlabs/x").TimeSpan, number>, import("zod").ZodType<import("@synnaxlabs/x").TimeSpan, import("zod").ZodTypeDef, import("@synnaxlabs/x").TimeSpan>]>>>;
    labelSize: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
    location: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["left", "right"]>>>;
}, "strip", import("zod").ZodTypeAny, {
    type: "time" | "linear";
    label: string;
    size: number;
    location: "left" | "right";
    tickSpacing: number;
    showGrid: boolean;
    autoBounds: (boolean | {
        lower: boolean;
        upper: boolean;
    }) & (boolean | {
        lower: boolean;
        upper: boolean;
    } | undefined);
    autoBoundUpdateInterval: import("@synnaxlabs/x").TimeSpan;
    labelSize: number;
    color?: import("../../../color/external").Color | undefined;
    font?: string | undefined;
    bounds?: {
        lower: number;
        upper: number;
    } | undefined;
    gridColor?: import("../../../color/external").Color | undefined;
    autoBoundPadding?: number | undefined;
}, {
    type?: "time" | "linear" | undefined;
    color?: string | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    } | import("../../../color/external").Color | [number, number, number] | undefined;
    font?: string | undefined;
    label?: string | undefined;
    size?: number | undefined;
    bounds?: {
        lower: number;
        upper: number;
    } | undefined;
    tickSpacing?: number | undefined;
    showGrid?: boolean | undefined;
    gridColor?: string | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    } | import("../../../color/external").Color | [number, number, number] | undefined;
    autoBounds?: boolean | {
        lower?: boolean | undefined;
        upper?: boolean | undefined;
    } | undefined;
    autoBoundPadding?: number | undefined;
    autoBoundUpdateInterval?: string | number | Number | import("@synnaxlabs/x").TimeSpan | {
        value: bigint;
    } | undefined;
    labelSize?: number | undefined;
    location?: "left" | "right" | undefined;
}>;
export interface YAxisProps extends AxisRenderProps {
    xDataToDecimalScale: scale.Scale;
}
type Children = line.Line | rule.Rule;
export declare class YAxis extends CoreAxis<typeof coreAxisStateZ, Children> {
    static readonly TYPE = "YAxis";
    schema: import("zod").ZodObject<{
        type: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodEnum<["linear", "time"]>>>;
        color: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodType<import("../../../color/external").Color, import("zod").ZodTypeDef, import("../../../color/external").Color>, import("zod").ZodObject<{
            rgba255: import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>;
        }, "strip", import("zod").ZodTypeAny, {
            rgba255: [number, number, number, number];
        }, {
            rgba255: [number, number, number, number];
        }>]>, import("../../../color/external").Color, string | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        } | import("../../../color/external").Color | [number, number, number]>>;
        font: import("zod").ZodOptional<import("zod").ZodString>;
        label: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodString>>;
        size: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
        location: import("zod").ZodEnum<["top", "right", "bottom", "left"]>;
        bounds: import("zod").ZodOptional<import("zod").ZodObject<{
            lower: import("zod").ZodNumber;
            upper: import("zod").ZodNumber;
        }, "strip", import("zod").ZodTypeAny, {
            lower: number;
            upper: number;
        }, {
            lower: number;
            upper: number;
        }>>;
        tickSpacing: import("zod").ZodDefault<import("zod").ZodNumber>;
        showGrid: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        gridColor: import("zod").ZodOptional<import("zod").ZodEffects<import("zod").ZodUnion<[import("zod").ZodString, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>, import("zod").ZodType<import("../../../color/external").Color, import("zod").ZodTypeDef, import("../../../color/external").Color>, import("zod").ZodObject<{
            rgba255: import("zod").ZodTuple<[import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber, import("zod").ZodNumber], null>;
        }, "strip", import("zod").ZodTypeAny, {
            rgba255: [number, number, number, number];
        }, {
            rgba255: [number, number, number, number];
        }>]>, import("../../../color/external").Color, string | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        } | import("../../../color/external").Color | [number, number, number]>>;
        autoBounds: import("zod").ZodUnion<[import("zod").ZodObject<{
            lower: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
            upper: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>;
        }, "strip", import("zod").ZodTypeAny, {
            lower: boolean;
            upper: boolean;
        }, {
            lower?: boolean | undefined;
            upper?: boolean | undefined;
        }>, import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodBoolean>>]>;
        autoBoundPadding: import("zod").ZodOptional<import("zod").ZodNumber>;
        autoBoundUpdateInterval: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodUnion<[import("zod").ZodEffects<import("zod").ZodObject<{
            value: import("zod").ZodBigInt;
        }, "strip", import("zod").ZodTypeAny, {
            value: bigint;
        }, {
            value: bigint;
        }>, import("@synnaxlabs/x").TimeSpan, {
            value: bigint;
        }>, import("zod").ZodEffects<import("zod").ZodString, import("@synnaxlabs/x").TimeSpan, string>, import("zod").ZodEffects<import("zod").ZodType<Number, import("zod").ZodTypeDef, Number>, import("@synnaxlabs/x").TimeSpan, Number>, import("zod").ZodEffects<import("zod").ZodNumber, import("@synnaxlabs/x").TimeSpan, number>, import("zod").ZodType<import("@synnaxlabs/x").TimeSpan, import("zod").ZodTypeDef, import("@synnaxlabs/x").TimeSpan>]>>>;
        labelSize: import("zod").ZodDefault<import("zod").ZodOptional<import("zod").ZodNumber>>;
    }, "strip", import("zod").ZodTypeAny, {
        type: "time" | "linear";
        label: string;
        size: number;
        location: "bottom" | "left" | "right" | "top";
        tickSpacing: number;
        showGrid: boolean;
        autoBounds: (boolean | {
            lower: boolean;
            upper: boolean;
        }) & (boolean | {
            lower: boolean;
            upper: boolean;
        } | undefined);
        autoBoundUpdateInterval: import("@synnaxlabs/x").TimeSpan;
        labelSize: number;
        color?: import("../../../color/external").Color | undefined;
        font?: string | undefined;
        bounds?: {
            lower: number;
            upper: number;
        } | undefined;
        gridColor?: import("../../../color/external").Color | undefined;
        autoBoundPadding?: number | undefined;
    }, {
        location: "bottom" | "left" | "right" | "top";
        type?: "time" | "linear" | undefined;
        color?: string | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        } | import("../../../color/external").Color | [number, number, number] | undefined;
        font?: string | undefined;
        label?: string | undefined;
        size?: number | undefined;
        bounds?: {
            lower: number;
            upper: number;
        } | undefined;
        tickSpacing?: number | undefined;
        showGrid?: boolean | undefined;
        gridColor?: string | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        } | import("../../../color/external").Color | [number, number, number] | undefined;
        autoBounds?: boolean | {
            lower?: boolean | undefined;
            upper?: boolean | undefined;
        } | undefined;
        autoBoundPadding?: number | undefined;
        autoBoundUpdateInterval?: string | number | Number | import("@synnaxlabs/x").TimeSpan | {
            value: bigint;
        } | undefined;
        labelSize?: number | undefined;
    }>;
    xBounds(): Promise<bounds.Bounds>;
    render(props: YAxisProps): Promise<void>;
    private renderLines;
    private renderRules;
    findByXValue({ xDataToDecimalScale, plot, viewport, hold }: Omit<YAxisProps, "canvases">, target: number): Promise<line.FindResult[]>;
    private dataBounds;
    private get lines();
    private get rules();
}
export {};
