import { Draw2D } from '../../../draw2d';
import { TimeRange, box, scale } from '@synnaxlabs/x';
import { Synnax, ranger, signals } from '@synnaxlabs/client';
import { render } from '../../../render';
import { z } from 'zod';
import { aether } from '../../../../ether';

export declare const selectedStateZ: z.ZodObject<{
    color: z.ZodOptional<z.ZodString>;
    key: z.ZodString;
    name: z.ZodString;
    timeRange: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
        start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            value: z.ZodBigInt;
        }, "strip", z.ZodTypeAny, {
            value: bigint;
        }, {
            value: bigint;
        }>, import('@synnaxlabs/client').TimeStamp, {
            value: bigint;
        }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
        end: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            value: z.ZodBigInt;
        }, "strip", z.ZodTypeAny, {
            value: bigint;
        }, {
            value: bigint;
        }>, import('@synnaxlabs/client').TimeStamp, {
            value: bigint;
        }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
    }, "strip", z.ZodTypeAny, {
        start: import('@synnaxlabs/client').TimeStamp;
        end: import('@synnaxlabs/client').TimeStamp;
    }, {
        start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
        end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
    }>, TimeRange, {
        start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
        end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
    }>, z.ZodType<TimeRange, z.ZodTypeDef, TimeRange>]>;
    viewport: z.ZodObject<{
        lower: z.ZodNumber;
        upper: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        lower: number;
        upper: number;
    }, {
        lower: number;
        upper: number;
    }>;
}, "strip", z.ZodTypeAny, {
    key: string;
    name: string;
    timeRange: TimeRange;
    viewport: {
        lower: number;
        upper: number;
    };
    color?: string | undefined;
}, {
    key: string;
    name: string;
    timeRange: (TimeRange | {
        start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
        end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
    }) & (TimeRange | {
        start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
        end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
            value: bigint;
        }) | (number & {
            value: bigint;
        }) | (Number & {
            value: bigint;
        }) | ({
            value: bigint;
        } & string) | ({
            value: bigint;
        } & number) | ({
            value: bigint;
        } & Number) | ({
            value: bigint;
        } & {
            value: bigint;
        });
    } | undefined);
    viewport: {
        lower: number;
        upper: number;
    };
    color?: string | undefined;
}>;
export type SelectedState = z.infer<typeof selectedStateZ>;
export declare const providerStateZ: z.ZodObject<{
    cursor: z.ZodUnion<[z.ZodObject<{
        x: z.ZodNumber;
        y: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        x: number;
        y: number;
    }, {
        x: number;
        y: number;
    }>, z.ZodNull]>;
    hovered: z.ZodUnion<[z.ZodObject<{
        color: z.ZodOptional<z.ZodString>;
        key: z.ZodString;
        name: z.ZodString;
        timeRange: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
            start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                value: z.ZodBigInt;
            }, "strip", z.ZodTypeAny, {
                value: bigint;
            }, {
                value: bigint;
            }>, import('@synnaxlabs/client').TimeStamp, {
                value: bigint;
            }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
            end: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                value: z.ZodBigInt;
            }, "strip", z.ZodTypeAny, {
                value: bigint;
            }, {
                value: bigint;
            }>, import('@synnaxlabs/client').TimeStamp, {
                value: bigint;
            }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
        }, "strip", z.ZodTypeAny, {
            start: import('@synnaxlabs/client').TimeStamp;
            end: import('@synnaxlabs/client').TimeStamp;
        }, {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        }>, TimeRange, {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        }>, z.ZodType<TimeRange, z.ZodTypeDef, TimeRange>]>;
        viewport: z.ZodObject<{
            lower: z.ZodNumber;
            upper: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            lower: number;
            upper: number;
        }, {
            lower: number;
            upper: number;
        }>;
    }, "strip", z.ZodTypeAny, {
        key: string;
        name: string;
        timeRange: TimeRange;
        viewport: {
            lower: number;
            upper: number;
        };
        color?: string | undefined;
    }, {
        key: string;
        name: string;
        timeRange: (TimeRange | {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        }) & (TimeRange | {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        } | undefined);
        viewport: {
            lower: number;
            upper: number;
        };
        color?: string | undefined;
    }>, z.ZodNull]>;
    count: z.ZodNumber;
}, "strip", z.ZodTypeAny, {
    cursor: {
        x: number;
        y: number;
    } | null;
    hovered: {
        key: string;
        name: string;
        timeRange: TimeRange;
        viewport: {
            lower: number;
            upper: number;
        };
        color?: string | undefined;
    } | null;
    count: number;
}, {
    cursor: {
        x: number;
        y: number;
    } | null;
    hovered: {
        key: string;
        name: string;
        timeRange: (TimeRange | {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        }) & (TimeRange | {
            start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
            end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                value: bigint;
            }) | (number & {
                value: bigint;
            }) | (Number & {
                value: bigint;
            }) | ({
                value: bigint;
            } & string) | ({
                value: bigint;
            } & number) | ({
                value: bigint;
            } & Number) | ({
                value: bigint;
            } & {
                value: bigint;
            });
        } | undefined);
        viewport: {
            lower: number;
            upper: number;
        };
        color?: string | undefined;
    } | null;
    count: number;
}>;
interface InternalState {
    ranges: Map<string, ranger.Range>;
    client: Synnax | null;
    render: render.Context;
    draw: Draw2D;
    tracker: signals.Observable<string, ranger.Range>;
}
interface AnnotationProps {
    dataToDecimalScale: scale.Scale;
    viewport: box.Box;
    region: box.Box;
    timeRange: TimeRange;
}
export declare class Provider extends aether.Leaf<typeof providerStateZ, InternalState> {
    static readonly TYPE = "range-provider";
    schema: z.ZodObject<{
        cursor: z.ZodUnion<[z.ZodObject<{
            x: z.ZodNumber;
            y: z.ZodNumber;
        }, "strip", z.ZodTypeAny, {
            x: number;
            y: number;
        }, {
            x: number;
            y: number;
        }>, z.ZodNull]>;
        hovered: z.ZodUnion<[z.ZodObject<{
            color: z.ZodOptional<z.ZodString>;
            key: z.ZodString;
            name: z.ZodString;
            timeRange: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                start: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                    value: z.ZodBigInt;
                }, "strip", z.ZodTypeAny, {
                    value: bigint;
                }, {
                    value: bigint;
                }>, import('@synnaxlabs/client').TimeStamp, {
                    value: bigint;
                }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
                end: z.ZodUnion<[z.ZodEffects<z.ZodObject<{
                    value: z.ZodBigInt;
                }, "strip", z.ZodTypeAny, {
                    value: bigint;
                }, {
                    value: bigint;
                }>, import('@synnaxlabs/client').TimeStamp, {
                    value: bigint;
                }>, z.ZodEffects<z.ZodString, import('@synnaxlabs/client').TimeStamp, string>, z.ZodEffects<z.ZodType<Number, z.ZodTypeDef, Number>, import('@synnaxlabs/client').TimeStamp, Number>, z.ZodEffects<z.ZodNumber, import('@synnaxlabs/client').TimeStamp, number>, z.ZodType<import('@synnaxlabs/client').TimeStamp, z.ZodTypeDef, import('@synnaxlabs/client').TimeStamp>]>;
            }, "strip", z.ZodTypeAny, {
                start: import('@synnaxlabs/client').TimeStamp;
                end: import('@synnaxlabs/client').TimeStamp;
            }, {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            }>, TimeRange, {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            }>, z.ZodType<TimeRange, z.ZodTypeDef, TimeRange>]>;
            viewport: z.ZodObject<{
                lower: z.ZodNumber;
                upper: z.ZodNumber;
            }, "strip", z.ZodTypeAny, {
                lower: number;
                upper: number;
            }, {
                lower: number;
                upper: number;
            }>;
        }, "strip", z.ZodTypeAny, {
            key: string;
            name: string;
            timeRange: TimeRange;
            viewport: {
                lower: number;
                upper: number;
            };
            color?: string | undefined;
        }, {
            key: string;
            name: string;
            timeRange: (TimeRange | {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            }) & (TimeRange | {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            } | undefined);
            viewport: {
                lower: number;
                upper: number;
            };
            color?: string | undefined;
        }>, z.ZodNull]>;
        count: z.ZodNumber;
    }, "strip", z.ZodTypeAny, {
        cursor: {
            x: number;
            y: number;
        } | null;
        hovered: {
            key: string;
            name: string;
            timeRange: TimeRange;
            viewport: {
                lower: number;
                upper: number;
            };
            color?: string | undefined;
        } | null;
        count: number;
    }, {
        cursor: {
            x: number;
            y: number;
        } | null;
        hovered: {
            key: string;
            name: string;
            timeRange: (TimeRange | {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            }) & (TimeRange | {
                start: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
                end: string | number | Number | import('@synnaxlabs/client').TimeStamp | (string & Number) | (string & import('@synnaxlabs/client').TimeStamp) | (number & Number) | (number & import('@synnaxlabs/client').TimeStamp) | (Number & string) | (Number & number) | (Number & import('@synnaxlabs/client').TimeStamp) | (import('@synnaxlabs/client').TimeStamp & string) | (import('@synnaxlabs/client').TimeStamp & number) | (import('@synnaxlabs/client').TimeStamp & Number) | (string & {
                    value: bigint;
                }) | (number & {
                    value: bigint;
                }) | (Number & {
                    value: bigint;
                }) | ({
                    value: bigint;
                } & string) | ({
                    value: bigint;
                } & number) | ({
                    value: bigint;
                } & Number) | ({
                    value: bigint;
                } & {
                    value: bigint;
                });
            } | undefined);
            viewport: {
                lower: number;
                upper: number;
            };
            color?: string | undefined;
        } | null;
        count: number;
    }>;
    fetchedInitial: TimeRange;
    afterUpdate(): Promise<void>;
    private fetchInitial;
    render(props: AnnotationProps): Promise<void>;
}
export {};
//# sourceMappingURL=provider.d.ts.map