import { scale } from '@synnaxlabs/x';
import { z } from 'zod';
export interface Tick {
    position: number;
    label: string;
}
export interface TickFactory {
    create: (ctx: TickFactoryRenderArgs) => Tick[];
}
export declare const tickType: z.ZodEnum<{
    time: "time";
    linear: "linear";
}>;
export type TickType = z.infer<typeof tickType>;
export declare const tickFactoryProps: z.ZodObject<{
    tickSpacing: z.ZodDefault<z.ZodNumber>;
    type: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
        time: "time";
        linear: "linear";
    }>>>;
}, z.core.$strip>;
export type TickFactoryProps = z.input<typeof tickFactoryProps>;
export interface TickFactoryRenderArgs {
    /**
     * Scale takes a value in decimal space and returns the corresponding data value.
     */
    decimalToDataScale: scale.Scale;
    /**
     * Size is the length of the axis in pixels.
     */
    size: number;
}
export declare const newTickFactory: (props: TickFactoryProps) => TickFactory;
//# sourceMappingURL=ticks.d.ts.map