import { API } from '@wharfkit/antelope';
type KeyWeight = {
    key: string;
    weight: number;
};
type PermissionWeight = {
    permission: {
        actor: string;
        permission: string;
    };
    weight: number;
};
type WaitWeight = {
    wait_sec: number;
    weight: number;
};
export declare class Authority {
    threshold: number;
    keys: KeyWeight[];
    accounts: PermissionWeight[];
    waits: WaitWeight[];
    constructor(threshold: number, keys: KeyWeight[], accounts: PermissionWeight[], waits: WaitWeight[]);
    static fromKey(key: string): Authority;
    static fromAccount(permission: {
        actor: string;
        permission: string;
    }): Authority;
    static fromAccountArray(accounts: string[], permission: string, threshold?: number): Authority;
    static fromAccountPermission(permission: API.v1.AccountPermission): Authority;
    addCodePermission(account: string): void;
    addAccount(permission: {
        actor: string;
        permission: string;
    }): void;
    addKey(key: string, weight: number): void;
    setThreshold(threshold: number): void;
    /**
     * Sorts the authority weights in place, should be called before including the authority in a `updateauth` action or it might be rejected.
     */
    sort(): void;
}
export {};
//# sourceMappingURL=authority.d.ts.map