/**
 * Topic Permission Handler
 *
 * Handles IAM permission requests for SNS topics.
 *
 * @module declarative-api/permission-chain/handlers
 */
import type { IResourceEntity, ResourceType, PermissionLevel } from '../../../../lib/runtime-web/types/declarative-api';
import { BasePermissionHandler } from '../base-permission-handler';
/**
 * Permission handler for SNS topics.
 *
 * Handles permission requests for 'sns:topic' resources.
 *
 * @example
 * ```typescript
 * const handler = new TopicPermissionHandler();
 * const result = handler.handle(topicResource, role, { permissionLevel: 'write' });
 * ```
 *
 * Validates: Requirements 5.2, 5.4
 */
export declare class TopicPermissionHandler extends BasePermissionHandler {
    readonly priority = 30;
    readonly handlerId = "topic-permission-handler";
    protected getResourceType(): ResourceType;
    protected getActionsForLevel(level: PermissionLevel): readonly string[];
    protected grantToRole(role: unknown, actions: readonly string[], resource: IResourceEntity): void;
}
/**
 * Get the read actions for SNS topics.
 */
export declare function getTopicReadActions(): readonly string[];
/**
 * Get the write actions for SNS topics.
 */
export declare function getTopicWriteActions(): readonly string[];
/**
 * Get the full access actions for SNS topics.
 */
export declare function getTopicFullActions(): readonly string[];
