import { CasbinRule, CasbinFilter, CasbinRuleFilter, PostgresAdapaterOptions } from "./model";
export declare class CasbinRepository {
    private readonly options;
    private readonly db;
    private readonly tableName;
    private readonly schema;
    private readonly dbClient;
    constructor(options?: PostgresAdapaterOptions);
    getAllPolicies(): Promise<CasbinRule[]>;
    getFilteredPolicies(filter: CasbinFilter): Promise<CasbinRule[]>;
    insertPolicy(ptype: string, rule: string[]): Promise<void>;
    insertPolicies(rules: CasbinRule[]): Promise<void>;
    deletePolicies(ptype: string, ruleFilter: CasbinRuleFilter, fieldIndex?: number): Promise<void>;
    clearPolicies(): Promise<void>;
    open(): Promise<void>;
    migrate(): Promise<void>;
    close(): Promise<void>;
}
