export interface IPolicy {
    nomePolicy: string;
    tabellaDestinazione?: string;
    ruoli: string[];
    azieneScatenente: 'SELECT' | 'UPDATE' | 'DELET' | 'INSERT' | 'ALL';
    using?: string | ((NEW: any, OLD: any) => void | true | Error);
    check?: string | ((NEW: any, OLD: any) => void | true | Error);
    typeFunctionCheck?: 'plv8' | 'sql';
    typeFunctionUsing?: 'plv8' | 'sql';
    nomeFunzioneCheck?: string;
    nomeFunzioneUsing?: string;
}
export declare class ListaPolicy extends Array<Policy> {
    nomeTabella: string;
    constructor(item?: IPolicy[], nomeTabella?: string);
    CostruiscePolicySicurezza(/* client: Client */ elencoQuery: string[]): string;
}
export declare class Policy implements IPolicy {
    nomePolicy: string;
    tabellaDestinazione?: string;
    ruoli: string[];
    azieneScatenente: 'SELECT' | 'UPDATE' | 'DELET' | 'INSERT' | 'ALL';
    using?: string | ((NEW: any, OLD: any) => void | true | Error);
    check?: string | ((NEW: any, OLD: any) => void | true | Error);
    typeFunctionCheck?: 'plv8' | 'sql';
    typeFunctionUsing?: 'plv8' | 'sql';
    nomeFunzioneCheck?: string;
    nomeFunzioneUsing?: string;
    constructor(item: IPolicy);
    CostruiscePolicySicurezza(/* client: Client */ elencoQuery: string[], nomeTabella: string): string;
}
