import { bounds } from '@synnaxlabs/x';
import { default as z } from 'zod';
import { aether } from '../../../aether/aether';
export type AxesBounds = Record<string, bounds.Bounds>;
export declare const boundQuerierStateZ: z.ZodObject<{
    request: z.ZodString;
    response: z.ZodObject<{
        request: z.ZodString;
        bounds: z.ZodRecord<z.ZodString, z.ZodObject<{
            lower: z.ZodNumber;
            upper: z.ZodNumber;
        }, z.core.$strip>>;
    }, z.core.$strip>;
}, z.core.$strip>;
export interface BoundQuerierState extends z.infer<typeof boundQuerierStateZ> {
}
export interface BoundQuerierRenderProps {
    getBounds: () => AxesBounds;
}
export declare class BoundQuerier extends aether.Leaf<typeof boundQuerierStateZ, BoundQuerierRenderProps> {
    static readonly TYPE: string;
    schema: z.ZodObject<{
        request: z.ZodString;
        response: z.ZodObject<{
            request: z.ZodString;
            bounds: z.ZodRecord<z.ZodString, z.ZodObject<{
                lower: z.ZodNumber;
                upper: z.ZodNumber;
            }, z.core.$strip>>;
        }, z.core.$strip>;
    }, z.core.$strip>;
    afterUpdate(_: aether.Context): void;
    render(props: BoundQuerierRenderProps): void;
}
//# sourceMappingURL=BoundQuerier.d.ts.map