// Copyright 2025 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef IOS_CHROME_SHARE_EXTENSION_ACCOUNT_PICKER_TABLE_H_
#define IOS_CHROME_SHARE_EXTENSION_ACCOUNT_PICKER_TABLE_H_

#import <UIKit/UIKit.h>

#import "ios/chrome/share_extension/share_extension_account_info.h"

@protocol AccountPickerDelegate;

// A view controller when the account are displayed and can be selected.
@interface AccountPickerTable : UIViewController

@property(nonatomic, strong) UISheetPresentationControllerDetent* customDetent;

// The delegate for interactions in `AccountPickerTable`.
@property(nonatomic, weak) id<AccountPickerDelegate> delegate;

- (instancetype)initWithAccounts:(NSArray<ShareExtensionAccountInfo*>*)accounts
                 selectedAccount:(ShareExtensionAccountInfo*)selectedAccount
    NS_DESIGNATED_INITIALIZER;
- (instancetype)init NS_UNAVAILABLE;

- (instancetype)initWithStyle:(UITableViewStyle)style NS_UNAVAILABLE;
- (instancetype)initWithCoder:(NSCoder*)coder NS_UNAVAILABLE;
- (instancetype)initWithNibName:(NSString*)nibNameOrNil
                         bundle:(NSBundle*)nibBundleOrNil NS_UNAVAILABLE;
@end

#endif  // IOS_CHROME_SHARE_EXTENSION_ACCOUNT_PICKER_TABLE_H_
