import { type AuthRole } from '@oinone/kunlun-engine';
import type { OioTreeNode } from '@oinone/kunlun-shared';
import type { ComputedRef, Ref } from 'vue';
import { type ListInitOptions, type ListState, type ListStateLoadFunction, type ListStateProps, type TreeState } from '../../quick-utils';
export interface RoleListInstance {
    state: Ref<TreeState<AuthRole>>;
    filterData: ComputedRef<OioTreeNode<AuthRole>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init(options?: Partial<ListInitOptions>): Promise<ListState<AuthRole>>;
}
export declare function useRoleList(props?: ListStateProps & {
    load?: ListStateLoadFunction<AuthRole>;
}): {
    state: ListState<AuthRole>;
    filterData: ComputedRef<import("@oinone/kunlun-shared").OioListItem<AuthRole>[]>;
    checkedAll: ComputedRef<boolean>;
    halfCheckedAll: ComputedRef<boolean>;
    init: (options?: Partial<ListInitOptions>) => Promise<ListState<AuthRole>>;
    search: (options?: Partial<ListInitOptions>) => Promise<ListState<AuthRole>>;
    onChecked: (item: import("@oinone/kunlun-shared").OioListItem, checked: boolean) => void;
    onCheckedAll: (items: import("@oinone/kunlun-shared").OioListItem[], checked: boolean) => void;
};
