import { bounds, scale } from '@synnaxlabs/x';
import { AxisRenderProps, CoreAxis, coreAxisStateZ } from './axis';
import { line } from '../../vis/line/aether';
import { rule } from '../../vis/rule/aether';
export declare const yAxisStateZ: import('zod').ZodObject<{
    tickSpacing: import('zod').ZodDefault<import('zod').ZodNumber>;
    color: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>, 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, import('zod').ZodNumber], null>, import('zod').ZodObject<{
        rgba255: import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>;
    }, import('zod/v4/core').$strip>]>, import('zod').ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    }>>>;
    type: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodEnum<{
        time: "time";
        linear: "linear";
    }>>>;
    font: import('zod').ZodOptional<import('zod').ZodString>;
    showGrid: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodBoolean>>;
    gridColor: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>, 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, import('zod').ZodNumber], null>, import('zod').ZodObject<{
        rgba255: import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>;
    }, import('zod/v4/core').$strip>]>, import('zod').ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | {
        rgba255: [number, number, number, number];
    }>>>;
    axisKey: import('zod').ZodOptional<import('zod').ZodString>;
    bounds: import('zod').ZodOptional<import('zod').ZodObject<{
        lower: import('zod').ZodNumber;
        upper: import('zod').ZodNumber;
    }, import('zod/v4/core').$strip>>;
    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>>;
    }, import('zod/v4/core').$strip>, 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<readonly [import('zod').ZodPipe<import('zod').ZodObject<{
        value: import('zod').ZodBigInt;
    }, import('zod/v4/core').$strip>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, {
        value: bigint;
    }>>, import('zod').ZodPipe<import('zod').ZodString, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, string>>, import('zod').ZodPipe<import('zod').ZodNumber, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, number>>, import('zod').ZodPipe<import('zod').ZodBigInt, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, bigint>>, import('zod').ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, import('zod').ZodPipe<import('zod').ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeStamp>>, import('zod').ZodPipe<import('zod').ZodCustom<import('@synnaxlabs/x').Rate, import('@synnaxlabs/x').Rate>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').Rate>>]>>>;
    size: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodNumber>>;
    label: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodString>>;
    labelSize: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodNumber>>;
    location: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodEnum<{
        right: "right";
        left: "left";
    }>>>;
}, import('zod/v4/core').$strip>;
export interface YAxisProps extends AxisRenderProps {
    xDataToDecimalScale: scale.Scale;
    exposure: number;
}
type Children = line.Line | rule.Rule;
export declare class YAxis extends CoreAxis<typeof coreAxisStateZ, Children> {
    static readonly TYPE = "YAxis";
    schema: import('zod').ZodObject<{
        tickSpacing: import('zod').ZodDefault<import('zod').ZodNumber>;
        color: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>, 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, import('zod').ZodNumber], null>, import('zod').ZodObject<{
            rgba255: import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>;
        }, import('zod/v4/core').$strip>]>, import('zod').ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        }>>>;
        type: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodEnum<{
            time: "time";
            linear: "linear";
        }>>>;
        font: import('zod').ZodOptional<import('zod').ZodString>;
        showGrid: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodBoolean>>;
        location: import('zod').ZodEnum<{
            top: "top";
            right: "right";
            bottom: "bottom";
            left: "left";
        }>;
        gridColor: import('zod').ZodOptional<import('zod').ZodPipe<import('zod').ZodUnion<readonly [import('zod').ZodString, import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>, 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, import('zod').ZodNumber], null>, import('zod').ZodObject<{
            rgba255: import('zod').ZodTuple<[import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber, import('zod').ZodNumber], null>;
        }, import('zod/v4/core').$strip>]>, import('zod').ZodTransform<[number, number, number, number], string | [number, number, number] | [number, number, number, number] | {
            rgba255: [number, number, number, number];
        }>>>;
        axisKey: import('zod').ZodOptional<import('zod').ZodString>;
        bounds: import('zod').ZodOptional<import('zod').ZodObject<{
            lower: import('zod').ZodNumber;
            upper: import('zod').ZodNumber;
        }, import('zod/v4/core').$strip>>;
        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>>;
        }, import('zod/v4/core').$strip>, 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<readonly [import('zod').ZodPipe<import('zod').ZodObject<{
            value: import('zod').ZodBigInt;
        }, import('zod/v4/core').$strip>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, {
            value: bigint;
        }>>, import('zod').ZodPipe<import('zod').ZodString, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, string>>, import('zod').ZodPipe<import('zod').ZodNumber, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, number>>, import('zod').ZodPipe<import('zod').ZodBigInt, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, bigint>>, import('zod').ZodCustom<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeSpan>, import('zod').ZodPipe<import('zod').ZodCustom<import('@synnaxlabs/x').TimeStamp, import('@synnaxlabs/x').TimeStamp>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').TimeStamp>>, import('zod').ZodPipe<import('zod').ZodCustom<import('@synnaxlabs/x').Rate, import('@synnaxlabs/x').Rate>, import('zod').ZodTransform<import('@synnaxlabs/x').TimeSpan, import('@synnaxlabs/x').Rate>>]>>>;
        size: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodNumber>>;
        label: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodString>>;
        labelSize: import('zod').ZodDefault<import('zod').ZodOptional<import('zod').ZodNumber>>;
    }, import('zod/v4/core').$strip>;
    xBounds(): bounds.Bounds;
    bounds(hold: boolean): bounds.Bounds;
    render(props: YAxisProps): void;
    private renderLines;
    private renderRules;
    findByXValue({ xDataToDecimalScale, plot, viewport, hold, exposure, }: Omit<YAxisProps, "canvases">, target: number): line.FindResult[];
    private dataBounds;
    private get lines();
    private get rules();
}
export {};
//# sourceMappingURL=YAxis.d.ts.map