import { type AccessMatcher, type AccessResource, type AccessResources } from '../access';
import type { AccessBuilder } from './builder';
import { AccessResourceBuilder, type AccessResourceConfig, type AccessResourceConfigs } from './resource';
/**
 * 访问匹配器构建器
 */
export declare class AccessMatcherBuilder implements AccessBuilder<AccessMatcher> {
    /**
     * 资源集合
     * @private
     */
    private readonly _resources;
    /**
     * 添加资源配置
     * @param config 资源配置
     */
    config(config: AccessResourceConfig): AccessMatcherBuilder;
    /**
     * 添加资源配置集合
     * @param configs 资源配置集合
     */
    configs(...configs: AccessResourceConfigs): AccessMatcherBuilder;
    /**
     * 添加资源
     * @param builder 资源构建器
     */
    resource(builder: (builder: AccessResourceBuilder) => AccessResource): AccessMatcherBuilder;
    /**
     * 添加资源集合
     * @param resources 资源集合
     */
    resources(resources: AccessResources): AccessMatcherBuilder;
    /**
     * 构建
     */
    build(): AccessMatcher;
}
