import { Ref } from 'vue';
import { WorkspaceEventsFilter } from '../types/workspaceEventsFilter';
type UseWorkspaceEventsFilterArgs = {
    limit?: number;
    startDate?: Ref<Date> | Date;
    endDate?: Ref<Date> | Date;
    workspaces?: Ref<string[]> | string[];
    users?: Ref<string[]> | string[];
    events?: Ref<string[]> | string[];
    eventId?: Ref<string[]> | string[];
};
export declare function useWorkspaceEventsFilter(filters: UseWorkspaceEventsFilterArgs): Ref<WorkspaceEventsFilter>;
type EventFilters = {
    startDate?: Date;
    endDate?: Date;
    workspaces?: string[];
    users?: string[];
    events?: string[];
};
type UseWorkspaceEventsFilterFromRoute = {
    startDate: Ref<Date>;
    endDate: Ref<Date>;
    workspaces: Ref<string[]>;
    users: Ref<string[]>;
    events: Ref<string[]>;
    filter: Ref<WorkspaceEventsFilter>;
    hasFilters: Ref<boolean>;
    setFilters: (filters: EventFilters) => Promise<void>;
    updateFilters: (filters: EventFilters) => Promise<void>;
    clearFilters: () => Promise<void>;
};
export declare function useWorkspaceEventsFilterFromRoute(): UseWorkspaceEventsFilterFromRoute;
export type useTimeScopedWorkspaceEventsFilterArgs = Omit<UseWorkspaceEventsFilterArgs, 'endDate'>;
export declare function useTimeScopedWorkspaceEventsFilter(filters: useTimeScopedWorkspaceEventsFilterArgs): Ref<WorkspaceEventsFilter>;
export {};
