import type { Address, AppFiltersParam, SubscriptionCallback, SubscriptionResult } from '@1hive/connect-types';
import ForwardingPathDescription from '../utils/descriptor/index';
import { ConnectionContext, PostProcessDescription } from '../types';
import App from './App';
import Permission from './Permission';
import Transaction from './Transaction';
declare type OnAppCallback = SubscriptionCallback<App | null>;
declare type OnAppsCallback = SubscriptionCallback<App[]>;
export default class Organization {
    readonly connection: ConnectionContext;
    constructor(connection: ConnectionContext);
    get location(): string;
    get address(): Address;
    get _connection(): ConnectionContext;
    actAss(sender: Address): void;
    app(filters?: AppFiltersParam): Promise<App>;
    onApp(filtersOrCallback?: AppFiltersParam | OnAppCallback, callback?: OnAppCallback): SubscriptionResult<App>;
    apps(filters?: AppFiltersParam): Promise<App[]>;
    onApps(filtersOrCallback?: AppFiltersParam | OnAppsCallback, callback?: OnAppsCallback): SubscriptionResult<App[]>;
    acl(): Promise<App>;
    kernel(): Promise<App>;
    permissions(): Promise<Permission[]>;
    onPermissions(callback?: SubscriptionCallback<Permission[]>): SubscriptionResult<Permission[]>;
    describeScript(script: string): Promise<ForwardingPathDescription>;
    describeTransaction(transaction: Transaction): Promise<PostProcessDescription>;
}
export {};
//# sourceMappingURL=Organization.d.ts.map