import { TimeStamp } from '@synnaxlabs/x';
import { z } from 'zod';
import { aether } from '../../../../aether/aether';
import { Draw2D } from '../../../draw2d';
import { render } from '../../../render';
export declare const annotationStateZ: z.ZodObject<{
    start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
        value: z.ZodBigInt;
    }, "strip", z.ZodTypeAny, {
        value: bigint;
    }, {
        value: bigint;
    }>, TimeStamp, {
        value: bigint;
    }>, z.ZodEffects<z.ZodString, TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, TimeStamp, Number>, z.ZodEffects<z.ZodNumber, TimeStamp, number>, z.ZodType<TimeStamp, z.ZodTypeDef, TimeStamp>]>;
    end: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
        value: z.ZodBigInt;
    }, "strip", z.ZodTypeAny, {
        value: bigint;
    }, {
        value: bigint;
    }>, TimeStamp, {
        value: bigint;
    }>, z.ZodEffects<z.ZodString, TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, TimeStamp, Number>, z.ZodEffects<z.ZodNumber, TimeStamp, number>, z.ZodType<TimeStamp, z.ZodTypeDef, TimeStamp>]>;
}, "strip", z.ZodTypeAny, {
    start: TimeStamp;
    end: TimeStamp;
}, {
    start: string | number | Number | TimeStamp | {
        value: bigint;
    };
    end: string | number | Number | TimeStamp | {
        value: bigint;
    };
}>;
interface InternalState {
    render: render.Context;
    draw: Draw2D;
}
export declare class Annotation extends aether.Leaf<typeof annotationStateZ, InternalState> {
    static readonly TYPE = "range-annotation";
    schema: z.ZodObject<{
        start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            value: z.ZodBigInt;
        }, "strip", z.ZodTypeAny, {
            value: bigint;
        }, {
            value: bigint;
        }>, TimeStamp, {
            value: bigint;
        }>, z.ZodEffects<z.ZodString, TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, TimeStamp, Number>, z.ZodEffects<z.ZodNumber, TimeStamp, number>, z.ZodType<TimeStamp, z.ZodTypeDef, TimeStamp>]>;
        end: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            value: z.ZodBigInt;
        }, "strip", z.ZodTypeAny, {
            value: bigint;
        }, {
            value: bigint;
        }>, TimeStamp, {
            value: bigint;
        }>, z.ZodEffects<z.ZodString, TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, TimeStamp, Number>, z.ZodEffects<z.ZodNumber, TimeStamp, number>, z.ZodType<TimeStamp, z.ZodTypeDef, TimeStamp>]>;
    }, "strip", z.ZodTypeAny, {
        start: TimeStamp;
        end: TimeStamp;
    }, {
        start: string | number | Number | TimeStamp | {
            value: bigint;
        };
        end: string | number | Number | TimeStamp | {
            value: bigint;
        };
    }>;
    afterUpdate(): Promise<void>;
    render(): Promise<void>;
}
export {};
//# sourceMappingURL=annotation.d.ts.map