import z from "zod";
export declare const filterQuerySchema: z.ZodObject<{
    teamIds: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodNumber, "many">]>, number[], string | number | number[]>>;
    userIds: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodNumber, "many">]>, number[], string | number | number[]>>;
    status: z.ZodOptional<z.ZodEnum<["upcoming", "recurring", "past", "cancelled", "unconfirmed"]>>;
    eventTypeIds: z.ZodOptional<z.ZodEffects<z.ZodUnion<[z.ZodUnion<[z.ZodString, z.ZodNumber]>, z.ZodArray<z.ZodNumber, "many">]>, number[], string | number | number[]>>;
    afterStartDate: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
    beforeEndDate: z.ZodEffects<z.ZodOptional<z.ZodString>, string | undefined, string | undefined>;
}, "strip", z.ZodTypeAny, {
    teamIds?: number[] | undefined;
    userIds?: number[] | undefined;
    status?: "upcoming" | "recurring" | "past" | "unconfirmed" | "cancelled" | undefined;
    eventTypeIds?: number[] | undefined;
    afterStartDate?: string | undefined;
    beforeEndDate?: string | undefined;
}, {
    teamIds?: string | number | number[] | undefined;
    userIds?: string | number | number[] | undefined;
    status?: "upcoming" | "recurring" | "past" | "unconfirmed" | "cancelled" | undefined;
    eventTypeIds?: string | number | number[] | undefined;
    afterStartDate?: string | undefined;
    beforeEndDate?: string | undefined;
}>;
export declare function useFilterQuery(): {
    data: {
        teamIds?: number[] | undefined;
        userIds?: number[] | undefined;
        status?: "upcoming" | "recurring" | "past" | "unconfirmed" | "cancelled" | undefined;
        eventTypeIds?: number[] | undefined;
        afterStartDate?: string | undefined;
        beforeEndDate?: string | undefined;
    };
    setQuery: <J extends "status" | "userIds" | "teamIds" | "eventTypeIds" | "afterStartDate" | "beforeEndDate">(key: J, value: {
        teamIds?: number[] | undefined;
        userIds?: number[] | undefined;
        status?: "upcoming" | "recurring" | "past" | "unconfirmed" | "cancelled" | undefined;
        eventTypeIds?: number[] | undefined;
        afterStartDate?: string | undefined;
        beforeEndDate?: string | undefined;
    }[J]) => void;
    removeByKey: (key: "status" | "userIds" | "teamIds" | "eventTypeIds" | "afterStartDate" | "beforeEndDate") => void;
    pushItemToKey: <J extends "userIds" | "teamIds" | "eventTypeIds">(key: J, value: {
        teamIds: number[];
        userIds: number[];
        eventTypeIds: number[];
    }[J][number]) => void;
    removeItemByKeyAndValue: <J extends "userIds" | "teamIds" | "eventTypeIds">(key: J, value: {
        teamIds: number[];
        userIds: number[];
        eventTypeIds: number[];
    }[J][number]) => void;
    removeAllQueryParams: () => void;
};
//# sourceMappingURL=useFilterQuery.d.ts.map